我有这个网格
@(Html.Kendo().Grid<TaskViewModel>()
.Name("grid")
...
.Columns(columns =>
{
columns.Bound(e => e.IsSelected)
.Sortable(true)
.Filterable(false)
.Title(string.Empty);
columns.Bound(e => e.WorkflowStep).Title("Task Status").Filterable(false);
...
})
.Filterable()
...
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("AllTasks", "Cockpit").Data("includeFinishedTasks"))
.ServerOperation(true)
.Filter(f => f.Add(p => p.CurrentWorkflowStepId).IsEqualTo(2))
)
)
我在数据源上设置了初始过滤器。
.Filter(f => f.Add(p => p.CurrentWorkflowStepId).IsEqualTo(2))
我有什么方法可以拥有这样的东西吗?
.Filter(f => f.Add(p => p.CurrentWorkflowStepId).IsEqualTo(DropDownListForCurrentWorkflowStepId.value()))
事先提前。
答案 0 :(得分:2)
你可以通过jQuery实现这样的功能:
$(".k-grid").data("kendoGrid").dataSource.filter({ field: "CurrentWorkflowStepId", operator: "eq", value: "(dropdownlist value)" });
您可以在dropdownlist onChange事件或document.ready块中执行此代码 - 以初步过滤您的网格。
答案 1 :(得分:1)
您可以通过使用过滤器配置DataSource来实现此目的:
a servicename:
another servicename:
test-servicename: abc