我已经实现了以下代码:
gridControl.DataSource = CusColumnList
CusColumnList的类型为MyBindingList,它继承了BindingList,在我的例子中,T是类MyColumn。绑定效果很好。
但现在我的问题来了,我不希望数据源绑定到CusColumnList中的每一列,我只希望它绑定到名称包含" ABC"或其显示名称包含" XYZ"。我试着设置
gridControl.DataSource = CusColumnList.Where(column => column.Name.Contains("ABC") || column.DisplayName.Contains("XYZ"));
但似乎它不起作用。 我还尝试创建MyBindingList类型的另一个bindinglist集合MyTempCusColumnList,并在此MyTempCusColumnList的Get方法中,我只返回CusColumnList中名称或显示名称合格的每个项目。但是这样,每次更新CusColumnList时,我都需要手动更新MyTempCusColumnList。
我想知道是否有更好的方法来使用CusColumnList来存档这个目标。 谢谢!
编辑:格式代码
答案 0 :(得分:0)
您可以在BindingSource
对象上使用过滤字符串
查看关于它的MSDN文档,它非常好:http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.filter(v=vs.100).aspx