如何在网格控件的绑定列表中显示选择性项目



我已经实现了以下代码:

gridControl.DataSource = CusColumnList

CusColumnList是继承BindingList的MyBindingList类型,在我的情况下,T是MyColumn类。装订效果很好。

但现在我的问题来了,我不希望数据源绑定到CusColumnList中的每一列,我只希望它绑定到名称包含"ABC"或显示名称包含"XYZ"的列。我试着设置

gridControl.DataSource = CusColumnList.Where(column => column.Name.Contains("ABC") || column.DisplayName.Contains("XYZ"));

但它似乎不起作用。我还尝试创建另一个绑定列表集合MyBindingList类型的MyTempCusColumnList,在该MyTempCusColumnList的Get方法中,我只返回CusColumn列表中名称或显示名称符合条件的每个项。但通过这种方式,每次更新CusColumnList时,我都需要手动更新MyTempCusColuminList。

我想知道是否有更好的方法来实现这个目标,只使用CusColumnList。谢谢

编辑:格式代码

您可以在BindingSource对象上使用筛选器字符串
查看MSDN文档,它非常好:http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.filter(v=vs.100).aspx

最新更新