t = this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString() == "True" ? true : false;
t = !t;
this.dataGridView1.Rows[e.RowIndex].Cells[0].Value = t;
if (t == true)
{
Frm_BSCSet frm_bsc = new Frm_BSCSet(dataGridView1[2, e.RowIndex].Value.ToString());
frm_bsc.Show();
frm_bsc = null;
C_Public.errordata = -1;
if (C_Public.errordata == -1)
{
this.dataGridView1.Rows[e.RowIndex].Cells[0].Value =false;
}
}Winform中如像我这对DataGridViewCheckBoxColumn进行赋值,值改变了但界面上的DataGridViewCheckBoxColumn此列还是选中的.
如果把this.dataGridView1.Rows[e.RowIndex].Cells[0].Value =false;放到其它按件事件就没有问题.
这会不会的底层有关啊,我打开了一个新窗体,然后关闭了窗体.这样改变DataGridViewCheckBoxColumn列的值后界面上就不会发生改变,请问一下如何解决这个问题啊.我的想法是,DataGridViewCheckBoxColumn为真时打开一个窗体进行设置.如果发现里面没有值时退出打开的窗体并将DataGridViewCheckBoxColumn设置假.同时界面上也不选中此记录了.但现在遇到的打开窗体关闭后,改变了DataGridViewCheckBoxColumn的值,但界面上没有改变.
t = !t;
this.dataGridView1.Rows[e.RowIndex].Cells[0].Value = t;
if (t == true)
{
Frm_BSCSet frm_bsc = new Frm_BSCSet(dataGridView1[2, e.RowIndex].Value.ToString());
frm_bsc.Show();
frm_bsc = null;
C_Public.errordata = -1;
if (C_Public.errordata == -1)
{
this.dataGridView1.Rows[e.RowIndex].Cells[0].Value =false;
}
}Winform中如像我这对DataGridViewCheckBoxColumn进行赋值,值改变了但界面上的DataGridViewCheckBoxColumn此列还是选中的.
如果把this.dataGridView1.Rows[e.RowIndex].Cells[0].Value =false;放到其它按件事件就没有问题.
这会不会的底层有关啊,我打开了一个新窗体,然后关闭了窗体.这样改变DataGridViewCheckBoxColumn列的值后界面上就不会发生改变,请问一下如何解决这个问题啊.我的想法是,DataGridViewCheckBoxColumn为真时打开一个窗体进行设置.如果发现里面没有值时退出打开的窗体并将DataGridViewCheckBoxColumn设置假.同时界面上也不选中此记录了.但现在遇到的打开窗体关闭后,改变了DataGridViewCheckBoxColumn的值,但界面上没有改变.
{
DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
{
column.HeaderText = ColumnName.OutOfOffice.ToString();
column.Name = ColumnName.OutOfOffice.ToString();
column.AutoSizeMode =
DataGridViewAutoSizeColumnMode.DisplayedCells;
column.FlatStyle = FlatStyle.Standard;
column.ThreeState = true;
column.CellTemplate = new DataGridViewCheckBoxCell();
column.CellTemplate.Style.BackColor = Color.Beige;
} DataGridView1.Columns.Insert(0, column);
}