我正在开发一个使用ASP .NET MVC 4的应用程序,该应用程序将使用Kendo网格作为摘要填充结果。我正在使用服务器端操作(分页,筛选和排序)。我曾经通过脚本生成网格,而不是使用kendo UI提供的MVC包装器。通过查询字符串Kendo网格中的默认过滤器值
我有一个场景,其中用户将从查询字符串本身给过滤器。示例网址像下面
http://localhost/Summary/Audit?Startime=19/02/1013&Endtime=12/01/2013&Name=User1
我能够获取并整理出查询字符串,并存储在存储器中的位置。我需要将这些值作为过滤器集合(默认情况下传递给控制器),同时创建网格本身。有什么办法可以实现上述场景吗?此外,当用户选择任何过滤器字段时,我需要在过滤器框(过滤器表单)填充这些值。谢谢。
下面是我用来创建通过脚本电网的方式
`var grid = $("#gridSummary").kendoGrid({
dataSource: {
type: "aspnetmvc-ajax",
dataType: "json",
transport: {
read: "/Summary/GetAudit",
parameterMap: function (data, type) {
if (type == "read") {
if (data.filter) {
if (data.filter.filters) {
var FilterCol = "";
var coldelmtr = "<::>";
var rowdelmtr = "{::}";
for (var i = 0; i < data.filter.filters.length; i++) {
if (FilterCol.length > 0)
FilterCol += rowdelmtr;
FilterCol += data.filter.filters[i].field + coldelmtr + data.filter.filters[i].value;
}
}
}
return {
page: data.page,
pagesize: data.pageSize,
filters: FilterCol
}
}
}
},
pageSize: 50,
schema: { data: "Data", total: "Total",
model: {
fields: {
DateTime: { type: "date" },
Name: { type: "string" },
Action: { type: "string" },
On: { type: "string" },
Type: { type: "string" },
By: { type: "string" }
}
}
},
serverPaging: true,
serverFiltering: true,
serverSorting: false,
serverAggregates: true
},
scrollable: {
virtual: true
},
sortable: true,
resizable: true,
filterable: true,
filterMenuInit: function (e) {
if (e.field === "DateTime") {
var firstValueDropDown = e.container.find("select[data-role='dropdownlist']:eq(0)").data("kendoDropDownList");
// firstValueDropDown.readonly();
firstValueDropDown.wrapper.hide();
var secondValueDropDown = e.container.find("select[data-role='dropdownlist']:eq(1)").data("kendoDropDownList");
//secondValueDropDown.readonly();
secondValueDropDown.wrapper.hide();
var thirdValueDropDown = e.container.find("select[data-role='dropdownlist']:eq(2)").data("kendoDropDownList");
thirdValueDropDown.select(1);
//thirdValueDropDown.readonly();
thirdValueDropDown.wrapper.hide();
}
},
columns: columnsCollec
});`
似乎没有演示任何列的默认*过滤器(我在看:kendo-examples-asp-net-mvc/grid -crud/Views/Home/Index.cshtml) –