小编rse*_*nem的帖子

从Kendo UI网格中创建具有相关对象的表达式[FilterDescriptor]

我正在尝试为FilterDescriptor构建一个表达式生成器,该表达式生成器是我从一个请求中获取的,以便在DB中执行,因为它仅在内存中执行。我有成千上万的行可以从数据库中检索(这就是为什么我要创建一个构建器以减少负载的原因)。

//classes
public class Product
{
   public string Name {get;set;}
   public TypeOfProduct {get;set;}
}
public class TypeOfProduct
{
   public string Description {get;set;}
}

//action Read
public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
    if (request.Filters.Count > 0)
    {
        where = ApplyFilter(request.Filters[0]);
    }
}

// apply the FilterDescriptor to a string 
private static string ApplyFilter(IFilterDescriptor filter)
{
    var filters = string.Empty;
    if (filter is CompositeFilterDescriptor)
    {
        filters += "(";
        var compositeFilterDescriptor = (CompositeFilterDescriptor)filter;
        foreach (IFilterDescriptor childFilter in compositeFilterDescriptor.FilterDescriptors)
        {
            filters += ApplyFilter(childFilter);
            filters …
Run Code Online (Sandbox Code Playgroud)

lambda expression kendo-asp.net-mvc kendo-ui-mvc

2
推荐指数
1
解决办法
5232
查看次数