5

この質問が何百回も聞かれたことは知っていますが、さまざまなソリューションを実装するのに苦労しています。asp.netWebアプリケーションC#のグリッドビューから選択した行を取得する必要があります。データバインディングを実行しました。編集/更新ボタンまたはチェックボックス/ラジオボタンを使用するには、行をクリックして選択します。助けてください、私は少し立ち往生しており、javascriptベースのソリューションを実装したくありません。ありがとうございます。

if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("OnMouseOver", "this.style.cursor='pointer';this.style.textDecoration='underline';");
            e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';";
            e.Row.ToolTip = "Click on select row";
            e.Row.Attributes["OnClick"] = Page.ClientScript.GetPostBackClientHyperlink(this.SingleSelectGrid, "Select$" + e.Row.RowIndex);


            LinkButton selectbutton = new LinkButton()
            {
                CommandName = "Select",
                Text = e.Row.Cells[0].Text
            };
            e.Row.Cells[0].Controls.Add(selectbutton);
            e.Row.Attributes["OnClick"] = Page.ClientScript.GetPostBackClientHyperlink(selectbutton, "");


        }
4

2 に答える 2

7

私がそれを正しく理解すれば、これはあなたが望むことをするはずです:

.aspx:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"    
  DataKeyNames="id" onselectedindexchanged="GridView1_SelectedIndexChanged">

背後にあるコード:

 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    int index = Convert.ToInt16(GridView1.SelectedDataKey.Value);

}

DataKeyNamesこれにより、必要な処理が実行されます。..indexは、.aspxページの属性によって提供される選択された行IDを提供します。ただし、これには「選択を有効にする」をチェックする必要があります。(.aspxページ、デザイナーに移動し、グリッドビューをクリックすると、[選択を有効にする]属性が表示されます)。

于 2012-06-22T22:26:22.793 に答える
2

コードビハインドファイルからデータソースを追加する場合は、 「 AutoGenerateSelectButton」というプロパティをTrueに設定する必要があります。これにより、行を選択できるようになります。

于 2013-04-01T20:21:56.163 に答える