2015-09-05 80 views
1

我正在尝试预过滤kendo网格,并且出现问题。 对于预分类和预编组我使用的前两行,是工作的伟大:在Kendo网格中进行预过滤

grid.DataSource(ds => 
{ 
    var ajaxDsBuilder = ds.Ajax(); 
    // ... 
    ajaxDsBuilder.Sort(sort => sort.Add(col.Name).Ascending()); 
    ajaxDsBuilder.Group(grp => grp.Add(col.Name, typeof(string))); 

     // problem at the next line with filter 
    ajaxDsBuilder.Filter(f=> f.Add(c=>col.Name.ToString()).IsEqualTo("something")); 

这是给我一个服务器错误后运行。

对于预过滤,我发现这一点:

.Filter(filter => filter.Add(/* your filter rule */)) 

如果我删除的ToString()我得到的错误:属性与指定名称:col.Name不能在类型中找到:System.Data.DataRowView

如果我尝试: ajaxDsBuilder.Filter(f=> f.Add(c=> c.col.Name).IsEqualTo("something"));

我得到错误

An expression tree may not contain a dynamic operation

我也曾尝试使用动态拉姆达但出现同样的问题...

我缺少什么? P.S.我对这一切都很陌生,所以任何帮助将受到高度赞赏。

回答

1

我回答了Telerik的论坛同样的问题,我有我的回答是:

.Filter(filter => filter.AddRange(new [] { new Kendo.Mvc.FilterDescriptor(col.Name, Kendo.Mvc.FilterOperator.IsEqualTo, "TEST") })

万一有人需要这个:)

相关问题