我将此DataTable
用作DataSource
的{{1}}:
GridView
我想获得点击var table = new DataTable();
table.Columns.Add("ID");
table.Columns.Add("Title");
table.Columns.Add("Subject");
... //filling DataTable
myDataGridView.DataSource=table;
行的ID
列值,那么我应该像这样使用什么?
DataGridView
答案 0 :(得分:1)
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value
答案 1 :(得分:1)
首先,我的回答是假设您正在使用DataGridView
,即使您撰写(并标记)了您正在使用GridView
。
这是您想要的代码:
if (e.RowIndex >= 0) {
var row = myGridView.Rows[e.RowIndex].DataBoundItem as DataRowView;
if (row != null) {
string id = row["ID"].ToString();
}
}
此代码只需将DataRowView
绑定到点击的DataGridView
行,然后将其" ID"字段值,但仅在双击非标题行时才会显示。
现在你写道,你想在点击行时获得ID,并向我们展示了CellContentDoubleClick
处理程序。上面的代码在与CellContentDoubleClick
一起使用时会起作用,但我想知道您是否宁愿使用CellDoubleClick
。不同之处在于,用户实际上必须单击单元格的显示值才能触发CellContentDoubleClick
,但如果您使用CellContentDoubleClick
,则用户只需单击该行的任意位置(包括行标题)来触发事件。这可能会使您的应用程序更容易使用。
答案 2 :(得分:0)
你试图这样做
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int y = e.RowIndex;
int x = e.ColumnIndex;
}
private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
int y1 = e.RowIndex;
int x1 = e.ColumnIndex;
}
答案 3 :(得分:0)
完成以下代码:
GridViewRow gvrow = (GridViewRow)((ImageButton)e.CommandSource).NamingContainer;
string columnvalue= gvrow.Cells[0].Text;