我有一个包含多个列的kendo网格,一个基于int属性,另一个基于字符串属性。
我正在尝试使用不同的运算符过滤列,并添加了以下代码:
.Filterable(ftb => ftb.Extra(false)
.Operators(op => op
.ForNumber(num => num
.Clear()
.IsGreaterThanOrEqualTo(">="))
.ForString(str =>
str.Clear()
.Contains("Contains"))))
然而,出于某种原因,上述情况并不奏效。在不同列上使用不同运算符的最佳方法是什么?我可以在某些列上指定过滤器运算符吗?
有没有办法在除一列之外的所有列上指定3个运算符,并且该特殊列使用不同的运算符?
答案 0 :(得分:1)
可以为网格定义过滤器选项,然后单独为每个列定义,这似乎会覆盖网格设置。
@(Html.Kendo().Grid<SomeType>()
.Columns(columns =>
{
columns.Bound(c => c.StringProperty1)
.Filterable(f => f.Operators(op => op.ForString(str =>
str.Clear().Contains("Contains1234"))
));
columns.Bound(c => c.StringProperty2);
columns.Bound(c => c.IntProperty);
})
.Filterable(f => f.Operators(op => op
.ForNumber(num =>
num.Clear()
.IsGreaterThanOrEqualTo(">="))
.ForString(str =>
str.Clear()
.Contains("Contains5678"))
))
.Name("Grid")
)
在上面的示例中,StringProperty1
将获得Contains1234
过滤器,StringProperty2
将获得Contains5678
过滤器。