我有一个流程图,显示了一个项目的不同状态。单击不同部分时,使用户进入显示剑道网格的视图。我在传递要过滤的状态值时遇到麻烦,因此当用户单击特定状态时,它已经被该状态预先过滤,而不是在网格上显示项目
我就是这样
@(Html.Kendo().Grid<T>()
.Name("grid").Scrollable(c => c.Enabled(true).Height(1000))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Products_Read", "Controller"))
.PageSize(20)
)
.Columns(columns =>
{
columns.Bound(c => c.Status).Width(150)
.Title("Status")
.Filterable(filterable => filterable
.Cell(cell => cell
.ShowOperators(false)
.InputWidth(150)
.Operator("contains")
.SuggestionOperator(FilterType.Contains)
.Template("statusFilter")
)
);
.Template(“ statusFilter”)(如果相关)
function statusFilter (element) {
element.element.kendoDropDownList({
dataSource: {
dataType: "json",
transport: {
read: "@Url.Action("Status_Filter", "Controller")"
}
},
optionLabel: "--Select Status--"
});
}
控制器中的过滤器
public ActionResult Status_Filter()
{
return Json(_itemService.GetItem().Select(e => e.Status).OrderBy(e => e).Distinct().ToList());
}
直接作用于网格的asp动作示例。
<a asp-action="KendoGridViewMethod" asp-controller="Controller" asp-route-status="Incomplete" id="incomplete" class="fa fa-exclamation-circle fa-3x dashboard-icons"><span class="badge badge-info dashboard-badges"> @Model.Value</span></a>
在流程图上单击一个按钮(例如,“未完成”)后,我希望将用户引导到带有Kendo网格的页面。对于Kendo,有过滤选项。我希望Kendo Grid被预先过滤。我已经对JSON进行了一些过滤修改。我认为它不一定是相关的,但是为了以防万一,我将其包括在内。