日期:2014-05-17  浏览次数:21131 次

form_load事件里设置datagridview的checkbox默认选中不起作用
form_load事件代码如下:

sqlconn = new SqlConnection(strconn);
sqlconn.Open();
SqlCommand SCD = new SqlCommand("select *  from word", sqlconn);
SDA.SelectCommand = SCD;
SDA.Fill(DT);
dataGridView1.DataSource = DT;
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
    dataGridView1.Rows[i].Cells[0].Value = true;
    dataGridView1.Rows[i].Cells["memo"].Value = "test";
}

第1列是一个checkbox,这一列是不包含在datasource里面的。 
后面的memo是文本框。
现在是,设置checkbox默认选中,不起作用,但是后面的memo列设置值确起作用,这个是什么原因。
datagridview checkbox

------解决方案--------------------
不好意思,忽略上面的回答,我明白你的意思了,你是手动添加了一列(A)到datagridview中去,然后又赋值DT给这个gridview,然后想在代码里面给A这列赋值,对吗?
如果是这样子的话,界面上是看不到结果的,datagridview显示的始终是datasource的内容,解决办法是手动给DT添加一列(A),和datagridview里面的列匹配,然后执行dataGridView1.DataSource = DT; 
------解决方案--------------------
设个断点查下,还有一般要不绑定datasource,要不单个赋值,不要既绑定又赋值吧