我使用 Grid.MVC 向用户显示我的数据。我需要在页面首次加载后为“活动”列设置初始列过滤。
我阅读了 Grid.MVC 的文档页面,它说我应该将 .SetInitialFilter() 添加到列中,但它对我不起作用。如果您有任何想法,请告诉我
@Html.Grid(Model).Named("MVCGrid").Columns(columns =>{
columns.Add(e => e.id).Titled("id");
columns.Add(e => e.usernumber).Titled("user number");
columns.Add(e => e.active).Titled("active").SetInitialFilter(GridFilterType.Equals, "true");
columns.Add(e => e.manager).Titled("manager");}).WithPaging(28).Filterable().WithMultipleFilters().Sortable().WithGridItemsCount()
SetInitialFilter
用于根据内容设置初始值。此方法不会将初始过滤器本身设置为您想要执行的操作。
为了设置初始过滤器,您需要更改源
gridmvc.js
文件。在 textFilterWidget.prototype.onRender
下,将 value
更改为:
this.value = values.length > 0 ? values[0] : { filterType: 1, filterValue: "" };//1 stands for Equals filter
到
this.value = values.length > 0 ? values[0] : { filterType: 2, filterValue: "" };//2 stands for Contains filter
进行此更改后,默认过滤器现在将为
Contains