1

gridviewこれは.aspxのコードです

<asp:GridView ID="GridDaysPart" runat="server" CellPadding="4" ForeColor="#333333" 
        GridLines="None" Font-Names="Verdana" Font-Size="Smaller" 
        onrowcommand="GridDaysPart_RowCommand">
</asp:GridView>

そして、私はこのように.csファイルに列を作成しています

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Sun", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Mon", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Tue", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Wed", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Thu", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Fri", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Sat", Type.GetType("System.Int32")));
return dt;

次に、グリッドビューをバインドします。クリックした特定の[行] [セル]の値を取得したいのですが、rowcommandイベントを使用して行インデックスを取得できますが、どの列がクリックされたかを知るにはどうすればよいですか? 前もって感謝します。

4

4 に答える 4

3

selectedindexchangedにフックして値を取得できますGridView.SelectedRow.Cells[0].Text

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    var value= String.Format("You selected row {0} with {1} {2}",
                                            GridView1.SelectedIndex + 1,
                                            GridView1.SelectedRow.Cells[0].Text,
                                            GridView1.SelectedRow.Cells[1].Text);
}

または使用

var value= CustomersGridView.Rows[e.NewEditIndex].Cells[0].Text;

編集:これを使用してください

protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
    int rownum = Convert.ToInt32(e.CommandArgument.ToString());
    foreach(GridViewRow row in sender.Rows)
    {
        if(row.Cells[0].Text == "a-value-")
        {
             // Do something....
        }
    }
}
于 2013-03-06T09:52:45.853 に答える
-2

してみてくださいGridView.RowEditing

String xxx = CustomersGridView.Rows[e.NewEditIndex].Cells[0].Text;

このリンクを確認してください

于 2013-03-06T09:54:14.963 に答える