1. 设置
千万注意:
要设置成MouseDown,不然会出现一种情况就是双击选中,让用户体验感极差。
DEV19
2. 设置行选中
1 #region gridView选中 2 private void checkbox_checked(DataTable dt1, DataTable dt2) 3 { 4 for (int i = 0; i < dt1.Rows.Count; i++) 5 { 6 string curve_code = dt1.Rows[i]["CURVE_CODE"].ToString().Trim(); 7 string unit_code = dt1.Rows[i]["UNIT_CODE"].ToString().Trim(); 8 for (int j = 0; j < dt2.Rows.Count; j++) 9 { 10 string curve_code_dff = dt2.Rows[j]["CURVE_CODE"].ToString().Trim(); 11 string unit_code_dff = dt2.Rows[j]["UNIT_CODE"].ToString().Trim(); 12 if (curve_code == curve_code_dff && unit_code == unit_code_dff) 13 { 14 this.gridViewDs.SelectRow(i); 15 } 16 } 17 } 18 } 19 #endregion
最有用的就一句话
this.gridViewDs.SelectRow(i);
介绍一下 gridViewDs 你的gridview i就是你想选中的行序号,获取的方式很多。FocusedRowHandle,还有什么我上面那种数据在datatable里的行数,这些。
3.通过自己设置,这种比较麻烦。 通过添加列
图有点大。
属性设置完成,很简单1,插入一列2.设置columnedit属性,选择checkedit,3,valuechecked和unvaluechecked,这个就是让你看看为什么可以勾选,是如何控制勾选与不勾选。
valuecheck和unvaluechecked还是设置一下吧。
接下来就是绑定数据源了。
绑定数据源刚开始我也是一脸懵逼。
首先你的有数据库查出来的数据,或者是你要显示的数据。给你的这个显示的数据添加一列,然后给他赋默认值,一般都是不选中就是0.这就是为什么设置valuechecked和unvaluechecked的原因。boolean值怎么存储我也不知道。
具体操作,我的例子:
1 if (!outblk1.Tables[0].Columns.Contains("check")) 2 { 3 outblk1.Tables[0].Columns.Add("check", typeof(string)); 4 } 5 6 for (int i = 0; i < outblk1.Tables[0].Rows.Count; i++) 7 { 8 outblk1.Tables[0].Rows[i]["check"] = "0"; 9 }
outblk1.Tables[0]是我的查出来的数据。你的情况可能不一样,自己想去。上面判断是添加列,下面是赋默认值。你只需要改datatable就行了。
最后是设置
就差不多了。
我没测试过。但应该没啥问题。如果有问题,肯定是你太。。。。。。。。好了,就这!!!!