Kendo MVC UI 使用 DropDownList 对网格进行排序
Kendo MVC UI sort grid using DropDownList
我有一个包含所有学生姓名及其校园的网格。现在我想使用 DropDownList 按学生姓名和校区对网格进行排序。这是下拉列表:
@(Html.Kendo().DropDownList()
.Name("sorter")
.DataTextField("Text")
.DataValueField("Value")
.Events(e => e.Change("change"))
.BindTo(new List<SelectListItem>() {
new SelectListItem() {
Text = "Sort by Name",
Value = "1"
},
new SelectListItem() {
Text = "Sort by Campus",
Value = "2"
}
})
.Value("1")
)
这是下拉列表的更改事件:
function change() {
var value = $("#sorter").val();
alert(value);
};
你能告诉我如何命令网格按学生姓名或校园名称排序吗?提前致谢。
我自己用JavaScript解决了,如:
function change() {
var value = $("#sorter").val();
if (value == "1")
{
// sort grid by student names
var kendoGrid = $("#grid").data("kendoGrid");
var dsSort = [];
dsSort.push({ field: "DisplayName", dir: "asc" });
kendoGrid.dataSource.sort(dsSort);
}
elseif(value == "2")
{
// sort grid by campus
var kendoGrid = $("#grid").data("kendoGrid");
var dsSort = [];
dsSort.push({ field: "Campus", dir: "asc" });
kendoGrid.dataSource.sort(dsSort);
}
}
如果您同时使用 Kendo MVC UI 网格和下拉列表:
$function change() {
var value = $("#sorter").val();
if(value==1){
var gridsort = "@(Html.Kendo().Grid<GiveyourModelHere>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.StudentName);
columns.Bound(c => c.StudentCampus).Sortable(false);
})
.Sortable())";
}
else{
var gridsort = "@(Html.Kendo().Grid<Model>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.StudentName).Sortable(false);
columns.Bound(c => c.StudentCampus);
})
.Sortable())";
}
};
在视图中使用@gridsort 来显示 Kendo 网格。
我有一个包含所有学生姓名及其校园的网格。现在我想使用 DropDownList 按学生姓名和校区对网格进行排序。这是下拉列表:
@(Html.Kendo().DropDownList()
.Name("sorter")
.DataTextField("Text")
.DataValueField("Value")
.Events(e => e.Change("change"))
.BindTo(new List<SelectListItem>() {
new SelectListItem() {
Text = "Sort by Name",
Value = "1"
},
new SelectListItem() {
Text = "Sort by Campus",
Value = "2"
}
})
.Value("1")
)
这是下拉列表的更改事件:
function change() {
var value = $("#sorter").val();
alert(value);
};
你能告诉我如何命令网格按学生姓名或校园名称排序吗?提前致谢。
我自己用JavaScript解决了,如:
function change() {
var value = $("#sorter").val();
if (value == "1")
{
// sort grid by student names
var kendoGrid = $("#grid").data("kendoGrid");
var dsSort = [];
dsSort.push({ field: "DisplayName", dir: "asc" });
kendoGrid.dataSource.sort(dsSort);
}
elseif(value == "2")
{
// sort grid by campus
var kendoGrid = $("#grid").data("kendoGrid");
var dsSort = [];
dsSort.push({ field: "Campus", dir: "asc" });
kendoGrid.dataSource.sort(dsSort);
}
}
如果您同时使用 Kendo MVC UI 网格和下拉列表:
$function change() {
var value = $("#sorter").val();
if(value==1){
var gridsort = "@(Html.Kendo().Grid<GiveyourModelHere>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.StudentName);
columns.Bound(c => c.StudentCampus).Sortable(false);
})
.Sortable())";
}
else{
var gridsort = "@(Html.Kendo().Grid<Model>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.StudentName).Sortable(false);
columns.Bound(c => c.StudentCampus);
})
.Sortable())";
}
};
在视图中使用@gridsort 来显示 Kendo 网格。