DataGrid中Checkbox列的奇怪问题 通常情况下,只要选中行,再点checkbox,勾选状态马上就有变化。但是我程序里的一个datagrid莫名其妙地出现了这样的事情:必须双击checkbox,然后鼠标再点别的cell,才能看到勾选状态变了请问有人碰到这样的情况么,知道怎么解决么?谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你从新编译一下看,万一不行 ,把那个datagrid 删掉重做各,再不行把那个页面删掉重做 datagrid根本没有事件多谢楼上各位继续问我已经接近抓狂了 checkbox是三态值,而非二态值下面代码是我实际使用,其中col为checkbox列索引private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { int row=dataGrid1.CurrentCell.RowNumber; int col=dataGrid1.CurrentCell.ColumnNumber; int maxRow=((DataTable)dataGrid1.DataSource).Rows.Count; //if (col>1) if (row<maxRow && col>1) { bool b; b=Convert.IsDBNull(dt.Rows[row][col]); if (b==true) { dt.Rows[row][col]=1; } else { b=Convert.ToBoolean(dt.Rows[row][col]); dt.Rows[row][col]=b==true?0:1; } } } 问题解决了,换了个思路 private void dg_MouseDown(object sender, MouseEventArgs e) { DataGrid.HitTestInfo hti = dg.HitTest(e.X, e.Y); if (hti.Type==DataGrid.HitTestType.Cell) { dg.CurrentCell = new DataGridCell(hti.Row, hti.Column); dg.Select(hti.Row); DataRowView drv = (DataRowView) BindingContext[dg.DataSource, ((DataSet) dg.DataSource).Tables[0].TableName]. Current; } }这样就可以了 怎样遍历服务器上指定目录下的文件列表? 一个简单图片处理的软件.需求如下. 我设计一个计数器,遇到一个清空数据再计算的问题 在winform中如何得到当前光标所在控件 .net3.5 winform程序中转换中文输入法依然有bug listview控件自己清除内容,是怎么回事呢? 如何匹配空串或任意数字组成的字符串 .net 怎么才能连接远程DB2数据库 请问:如何引用一个方法的返回值???? 如何在C#中用函数把2进制数据转换成字符串数据显示出来? 一段c#的代码,调试的时候出现问题 求ComboBox的Text属性数据绑定时不支持方向键选择问题的解决办法
{
int row=dataGrid1.CurrentCell.RowNumber;
int col=dataGrid1.CurrentCell.ColumnNumber;
int maxRow=((DataTable)dataGrid1.DataSource).Rows.Count; //if (col>1)
if (row<maxRow && col>1)
{
bool b;
b=Convert.IsDBNull(dt.Rows[row][col]);
if (b==true)
{
dt.Rows[row][col]=1;
}
else
{
b=Convert.ToBoolean(dt.Rows[row][col]);
dt.Rows[row][col]=b==true?0:1;
}
}
}
{
DataGrid.HitTestInfo hti = dg.HitTest(e.X, e.Y); if (hti.Type==DataGrid.HitTestType.Cell)
{
dg.CurrentCell = new DataGridCell(hti.Row, hti.Column); dg.Select(hti.Row); DataRowView drv =
(DataRowView)
BindingContext[dg.DataSource, ((DataSet) dg.DataSource).Tables[0].TableName].
Current;
}
}
这样就可以了