0

それぞれにボタンを追加せずに、RowClick イベントを Gridview 行に追加する方法はありますか? 行の任意の場所をクリックして、SelectedIndexChanged イベントを発生させたいと考えています。

私は次のことを試しましたが、enableEventValidation="true" ページを追加する必要があり、本当にそうしたくありません。

Private Sub GridView1_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
    Try
        Select Case e.Row.RowType
            Case DataControlRowType.DataRow
                e.Row.Attributes.Add("onclick", Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" & e.Row.RowIndex))
        End Select
    Catch ex As Exception

    End Try
End Sub

ボタンが必要なため、RowCommands も機能しません。

4

1 に答える 1

2

ステップ 1/2 を実行しました。最初の部分は、 に を登録することでしonclickRowDataBoundSelectedIndexChanged次に、イベントを処理する必要があります。私は VB.Net の専門家ではないので、接続方法について 100% 確信があるわけではありません。ただし、イベント ハンドラーは次のようになります。

Private Sub GridView1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles GridView1.SelectedIndexChanged
    ' Do stuff here.
End Sub

また、onclickワイヤ アップ コードをPage.ClientScript.GetPostBackEventReferenceの代わりに使用するように変更しますPage.ClientScript.GetPostBackClientHyperlink

マークアップの例を次に示します。

<asp:GridView ID="GridView1"
    runat="server"
    Width="665px"
    OnSelectedIndexChanged="GridView1_SelectedIndexChanged">

    <HeaderStyle BackColor="#0033CC" />

    <Columns>
        <asp:CommandField ShowSelectButton="True" />
    </Columns>

</asp:GridView>
于 2012-10-16T15:34:26.510 に答える