标签:
.net平台的第三方控件库中DevExpress应该算是比较知名的。我们项目目前就用的这个控件库。
目前涉及的一个开发中,要实现一个简单的功能,即在列表区提供选择框,让用户可以实现多选。
看了DevExpress的论坛,说的很简单,如果用bounded的column,则在它的ColumnEdit属性上赋值一个RepositoryItemCheckEdit即可。
但我按照要求说的去做,选择框能够出现,但死活不能实现多选。查找了若干资料,尝试了若干方法,都不行,比如在数据库获取的时候虚增一列,select 1 as selected....,比如OptionsSelection.MultiSelect = true,凡此种种,都不能改实现多选。
最后是怎么解决的了?原来是因为我们使用的oracle,但是oracle没有bool类型,所以索性不在select语句中新增列,而选择在dataTable传递到前台后,赋值给dataGridView前,手动新增一列,如下:
data.Columns.Add("SELECTED", typeof(System.Boolean));
for (int i = 0; i < data.Rows.Count; i++)
{
data.Rows[i]["SELECTED"] = false;
}
这样,确保这列的类型是bool型,并将每一列初始化为不选中。
估计如果是sqlserver或者其它数据库,数据库本身支持bool型,则直接select语句中即可,无此麻烦。
DevExpress中的RepositoryItemCheckEdit
标签:
原文地址:http://www.cnblogs.com/029zz010buct/p/4390479.html