datagridview 点排序问题 在datagridview中有一列为checkbox,其他列不是,这时我选中几个checkbox,然后点击了其他列的排序,这时我选中的checkbox会被刷新掉(也就是说我又得重新选择)!我如何才能避免?才不会出现这种情况? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 commitderty()可能打错了,你没有提交数据,你试试点点其他的空间,在点排序,就没问题了 点排序的时候可能有以下几种情况:1.你的checkbox还在编辑状态下,没有离开编辑状态2.就是点排序的时候重新绑定了一下DataGridview解决:1.取消编辑状态(百度一下)2.就是在点击事件那里写当你点击的时候,用循环判断你的那一列checkbox有哪几个的value是True,然后在重新绑定的时候在在把checkbox的value设置成true private void mana_dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (mana_dgv.IsCurrentCellDirty) //一般情况下是datagridview失去焦点,才提交数据,以下是发生更改就提交 { mana_dgv.CommitEdit(DataGridViewDataErrorContexts.Commit); } } 楼主,这主要是你没有把datagridview修改后的临时值保存下来,你定义一个类全部变量:private DataTable tempTable=null;在“点击了其他列的排序”事件处理函数里,先把datagridview的DataSource取出: private void dataGridView1_ColumnSortModeChanged(object sender, DataGridViewColumnEventArgs e) { tempTable=(DataTable )datagridview1.DataSource; }然后在控件重绘事件里,把这个临时变量重新赋值给datagridview1: private void dataGridView1_Paint(object sender, PaintEventArgs e) { datagridview1.DataSource=tempTable; } 求帮助,模拟POST登录,注册,都会提示错误代码500,为什么?急求,帮别人做东西。求好心人 c#建模软件 项目怎么做 关于_doPostBack的一个问题? 请问我在visio里面反向工程把sql server2000里面的数据生成了E-R图,请问怎么编辑后保存到sql server 里面 请问有什么比较好的winform类的例子可供学习提高? 散分 难道ajax里的updatepanel是奇葩? 请教下载功能代码 ====关于DataGrid的使用问题,新手请教,马上给分==== 多表更新 事物 c#面试题:继承与构造函数的调用
可能打错了,
你没有提交数据,
你试试点点其他的空间,在点排序,就没问题了
1.你的checkbox还在编辑状态下,没有离开编辑状态
2.就是点排序的时候重新绑定了一下DataGridview解决:
1.取消编辑状态(百度一下)
2.就是在点击事件那里写
当你点击的时候,用循环判断你的那一列checkbox有哪几个的value是True,然后在重新绑定的时候在在把checkbox的value设置成true
{
if (mana_dgv.IsCurrentCellDirty) //一般情况下是datagridview失去焦点,才提交数据,以下是发生更改就提交
{
mana_dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}
private void dataGridView1_ColumnSortModeChanged(object sender, DataGridViewColumnEventArgs e)
{
tempTable=(DataTable )datagridview1.DataSource;
}然后在控件重绘事件里,把这个临时变量重新赋值给datagridview1:
private void dataGridView1_Paint(object sender, PaintEventArgs e)
{
datagridview1.DataSource=tempTable;
}