2012-05-08 9 views
0

グリッドビュー内のすべてのセルにリンクボタンを動的に追加しています。ただし、ボタンを追加すると、偶数ハンドラの起動は機能しません。私は関数を呼び出し、処理のためにいくつかのデータを渡すためにlinkbuttonが必要です。私のコードは以下の通りです。私はこれまで私が得ているサイトのソリューションを見つけました。 グリッドビューでは、青色のボタンでセルが読み込まれます。クリックすると、プレーンテキストに戻り、関数は呼び出されません。linkbutton dynamilcyをgridviewに追加しました。発射しない。

Private Sub gv_datasource_options_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_datasource_options.RowDataBound 
    Try 
     If e.Row.RowType = DataControlRowType.DataRow Then 
      For Each c As TableCell In e.Row.Cells 
       If Len(c.Text) > 0 And c.Text <> "&nbsp;" Then 
        Dim v_lb As New LinkButton() 
        v_lb.Text = c.Text       
        AddHandler v_lb.Click, AddressOf add_datasource 
        v_lb.Attributes.Add("AutoPostback", "True") 
        v_lb.Attributes.Add("runat", "Server") 
        v_lb.Attributes.Add("AutoEventWireup", "True") 
        v_lb.CommandName = "NumClick" 
        v_lb.CommandArgument = e.Row.Cells(0).ToString & "|" & gv_datasource_options.HeaderRow.Cells(e.Row.Cells.GetCellIndex(c)).Text 
        c.Controls.Add(v_lb) 
        Dim sm As ScriptManager = ScriptManager.GetCurrent(Me) 
        sm.RegisterAsyncPostBackControl(v_lb) 
       End If 
      Next 
     End If 
    Catch ex As Exception 
     cl_Error.cl_Erorr.LogError(ex, txt_userid.Value, ex.ToString) 
    End Try 
End Sub 
Private Sub add_datasource(sender As Object, e As CommandEventArgs) 
    Try 
     hf_datasource_id.Value = Left(e.CommandArgument.ToString(), (Len(e.CommandArgument.ToString) - InStr(e.CommandArgument.ToString, "|"))) 
     hf_datasource_column.Value = Left(e.CommandArgument.ToString(), (Len(e.CommandArgument.ToString) - InStr(e.CommandArgument.ToString, "|"))) 
     hf_datasource_tableid.Value = tv_content.SelectedValue 
     p_datasource.Visible = False 
    Catch ex As Exception 
     cl_Error.cl_Erorr.LogError(ex, txt_userid.Value, ex.ToString) 
    End Try 

End Sub 

答えて

0

よりもむしろ、LinkBut​​tonコントロールにイベント( "add_datasource")を追加するGridViewのRowCommandイベントを使用しようとしています。あなたはきっと

+0

(コマンド名とcommandargumentsと一緒に)GridViewの行コマンドのイベントに私は理解してくださいイムLinkBut​​tonコントロールによってバブリングイベントを取得することはできないだろう。これにより、各セルに一意のパラメータを持つalinkボタンを追加することができますか? – thomasfagin

+0

はい、そうです。 Gridview_RowCommandイベントで、(すべてのリンクボタンに対して一意に指定された)各CommandArgumentの一意の値を取得します。 – Sankalp

関連する問題