好的,所以我对DevExpress有点新意,我正在跳进现有项目的中间,该项目大量使用绑定到LinqDataSource
的DevExpress网格并利用网格内置过滤。以下是我正在看的内容的快速概述:
[Name]='Test'
进行过滤就可以了。我真正想要做的是根据我在部分类“IsCurrent”中创建的属性进行过滤。但是,当我修改保存在数据库中的过滤器字符串并将[IsCurrent]=true
添加到过滤器字符串时,我得到一个完全空的结果集。我尝试将其切换为false,但它仍然是空的。
是否可以过滤属于部分类成员的属性而不是生成的实体模型?如果没有,是否有可接受的解决方法?
以下是一些示例代码,说明了一些重要部分(尽管非常简化):
protected void LinqServerModeDataSource1_OnSelecting(object sender,
LinqServerModeDataSourceSelectEventArgs e)
{
e.QueryableSource = GetAllRecords();
}
Review.cs partial:
public partial class Review
{
public bool IsCurrent
{
if (something)
return true;
else
return false;
}
}
DevExpress过滤字符串:
filter [IsCurrent] = true
如果我将过滤器更改为:filter [Name ='Test'],它可以正常运行并向我显示所有名称为test的记录。恢复为[IsCurrent] = true只显示一个空集。我确信结果集包含应显示的有效数据。
有什么想法吗?如果我尝试过滤在partial类中创建的值,但它适用于从生成的实体模型中获取的值,它似乎不起作用。
答案 0 :(得分:1)
在this community devexpress thread上,您将找到有关使用LinqServerModeDataSource定制属性的限制的说明(请参阅:背心回复)。取决于您的约束以找到另一种解决方案。
答案 1 :(得分:0)
更改过滤器后,您可能需要重新绑定数据或刷新基础数据。