【发布时间】:2018-11-23 07:56:38
【问题描述】:
我有一个绑定到Equin.ApplicationFramework 的“DataGridView”的“BindingListView 视图”。根据文档过滤如下:
View.ApplyFilter(
delegate (SomeViewModel item)
{
return item.Code == textBox1.Text;
}
);
我需要一种过滤方法,可以过滤item.Code == 'SomeText',而不管BindingListView 中的项目类型如何,有什么方法可以实现这一点吗?我想出了
View.ApplyFilter(
delegate (object item)
{
return item.GetType().GetProperty("Code").GetValue(item).ToString() == textBox1.Text;
}
);
不幸的是,它不起作用。我得到编译器错误:
无法将匿名方法转换为类型“委托”,因为它不是 委托类型
我也试过here的解决方法,没有成功。
【问题讨论】:
-
使用接口...还有
ApplyFilter和View是如何定义的 -
请注意,委托中的参数类型需要与您为
BindingListView<T>选择的泛型类型参数相同。因此,您尝试使用delegate (object item)在我看来有点不对劲。