2

我有一个dataGridView1与数据表绑定的数据网格视图dt1

数据表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; 
    }
} 
4

1 回答 1

1

反而

checkColumn.Checked= true;

DataGridName[x][position_of_checkBox_column].Value = true;

但最好处理数据而不是 UI。

您可以向 DataTable 添加一个列表达式。

dt1.Columns.Add(new DataColumn("X", typeof(bool), "status = 1"));

这一行,替换了问题上的所有代码!


有时,更简单有效的方法是更改​​ SQL 语句。

反而

SELECT id, status

SELECT id, IIF(status = 1, true, false) AS statusBool
于 2013-12-18T15:12:18.700 回答