C# 在Datagridview C中检索多个复选框#
您好,下面我展示了当前C# 在Datagridview C中检索多个复选框#,c#,datagridview,C#,Datagridview,您好,下面我展示了当前datagridview的结构,datagridview的最后一个字段有一个复选框,我要做的是检索行的id,当检查为true时,我该怎么做 DataGridView结构: MyId |我的价值|复选框 如果您想获取所选行或单元格的Id,那么它就像@JohnG评论的那样非常简单 否则,如果您不在任何选择行或单元格上,则可以迭代DataGridView并使用 string checkBoxColumnName = "IsMale"; // CheckBox column nam
datagridview
的结构,datagridview
的最后一个字段有一个复选框,我要做的是检索行的id,当检查为true
时,我该怎么做
DataGridView结构:
MyId |我的价值|复选框
如果您想获取所选行或单元格的
Id
,那么它就像@JohnG评论的那样非常简单
否则,如果您不在任何选择行或单元格上,则可以迭代DataGridView并使用
string checkBoxColumnName = "IsMale"; // CheckBox column name
string outputColumnName = "MyId"; // Cell column name you want to value from.
var headerColumn = dataGridView1.Columns.Cast<DataGridViewColumn>().Single(c => c.Name == checkBoxColumnName);
var r = dataGridView1.Rows.Cast<DataGridViewRow>().FirstOrDefault(row => (bool)(row.Cells[headerColumn.Index].Value));
var result = r.Cells[outputColumnName].Value.ToString(); // result as string
string checkBoxColumnName=“IsMale”//复选框列名
字符串outputColumnName=“MyId”;//要从中取值的单元格列名。
var headerColumn=dataGridView1.Columns.Cast().Single(c=>c.Name==checkBoxColumnName);
var r=dataGridView1.Rows.Cast().FirstOrDefault(row=>(bool)(row.Cells[headerColumn.Index].Value));
var result=r.Cells[outputColumnName].Value.ToString();//结果为字符串
这是检索ID的一种方法
您必须使用cellValueChanged属性来检索选中的行ID
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (Convert.ToBoolean(dataGridView1.CurrentRow.Cells[2]) == true)
{
textbox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
}
}