我有一个数据 GridView dataGridView1
,它与数据表 dt1
绑定(bind)。
数据表dt1
有以下数据:
name | status
-----+-------
abc | 0
abd | 1
abc | 0
abc | 1
abc | 1
我在 Data gridview 中放置了一个复选框,我希望在状态 = 1 的地方选中复选框的默认值。
DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn();
checkColumn.Name = "X";
checkColumn.HeaderText = "X";
dataGridView1.Columns.Add(checkColumn);
for (int x = 0; x < countSubCategory; x++)
{
if (dt1.Rows[x].ItemArray[1].ToString() == "1")
{
// here I want to check the checkbox but I don't know what to write here
checkColumn.Checked= true;
}
else {
checkColumn.Value = false;
}
}
最佳答案
代替
checkColumn.Checked= true;
写
DataGridName[x][position_of_checkBox_column].Value = true;
但最好是处理数据而不是处理 UI。
您可以向 DataTable 添加一个 Column-expression。
dt1.Columns.Add(new DataColumn("X", typeof(bool), "status = 1"));
这一行,替换问题上的所有代码!
有时,更简单有效的方法是更改SQL 语句。
代替
SELECT id, status
写
SELECT id, IIF(status = 1, true, false) AS statusBool
关于c# - 基于Datatable在Data grid View中标记复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20661524/