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;

然后绑定gridview。现在我想获取特定 [row] [cell] 的值,我在其上单击,我可以使用 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 回答
0

您可以使用 DataGridView.CurrentCell 属性

int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;

你可以参考这个链接

于 2013-03-06T09:56:17.570 回答
0
  private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].ToString();
    }

我们可以使用它来获取使用 Cell Clicked 事件单击的特定单元格的值。我在 C# Hope Works For Others 中也这样做了。

于 2021-05-09T13:13:29.677 回答
-2

尝试GridView.RowEditing

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

查看此链接

于 2013-03-06T09:54:14.963 回答