我在弹出窗口中填充了一个Kendo.Grid(),并将Filterable
选项设置为GridFilterMode.Menu
:
.Filterable(f => f.Mode(GridFilterMode.Menu)
.Enabled(true)
.Extra(false)
.Operators(o => o
.ForString(str => str.Clear()
.Contains("Contains")
.IsEqualTo("EqualTo")
.IsNotEqualTo("NotEqualTo")
.IsEmpty("Empty")
)
)
.Operators(o => o
.ForNumber(num => num.Clear()
.IsEqualTo("EqualTo")
.IsGreaterThan("GreaterThan")
.IsLessThan("LessThan")
)
)
该选项似乎对我不起作用。它不会过滤,也不允许在我的数字字段列中输入任何内容。
但是,当切换到GridFilterMode.Row
时,过滤正在起作用。
可能是什么原因?我想,如果一个选项有效,那么另一个也应该有效。
这是我整个网格的定义:
@(Html.Kendo().Grid(Model.Report)
.Name(ReportGrid")
.Columns(columns =>
{
columns.Bound(c => c.Col1).Title("Col1").Width(200);
columns.Bound(c => c.Col2).Title("Col2").Width(200);
columns.Bound(c => c.Col3).Title("Col3").ClientTemplate("#= kendo.toString(Col3,'c')#").Width("200px");
columns.Bound(c => c.Col4).Title("Col4").Width(200);
columns.Bound(c => c.Col5).Title("Col5").Width(200);
columns.Bound(c => c.Col6).Title("Col6").Width(200);
})
.Scrollable(s => s.Height(550).Virtual(true))
.Reorderable(reorderable => reorderable.Columns(true))
.Resizable(r => r.Columns(true))
.Sortable()
.ColumnMenu()
.Pageable(p => p
.Refresh(true)
.PageSizes(true)
)
.Filterable(f => f.Mode(GridFilterMode.Menu)
.Enabled(true)
.Extra(false)
.Operators(o => o
.ForString(str => str.Clear()
.Contains("Contains")
.IsEqualTo("EqualTo")
.IsNotEqualTo("NotEqualTo")
.IsEmpty("Empty")
)
)
.Operators(o => o
.ForNumber(num => num.Clear()
.IsEqualTo("EqualTo")
.IsGreaterThan("GreaterThan")
.IsLessThan("LessThan")
)
)
)
.DataSource(ds => ds
.Ajax()
.PageSize(20)
.Events(e => e.Error("CheckError"))
.Read(read => read.Action("GetReport", "Report", Model))
))
还有其他方法可以使它工作吗?