我有一个数据网格视图dataGridView1
,它与数据表dt1
绑定。
数据表dt1
包含以下数据:
name | status
-----+-------
abc | 0
abd | 1
abc | 0
abc | 1
abc | 1
我在数据网格视图中放了一个复选框,我希望复选框的默认值为check,其中status = 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;
}
}
答案 0 :(得分:1)
代替
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