Javascript 如何在JS中动态地将网格分组为false/true?
首先,我的网格定义如下:我单击搜索按钮,然后网格读取数据并按类分组:Javascript 如何在JS中动态地将网格分组为false/true?,javascript,jquery,kendo-ui,kendo-grid,kendo-asp.net-mvc,Javascript,Jquery,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,首先,我的网格定义如下:我单击搜索按钮,然后网格读取数据并按类分组: @(Html.Kendo().Grid<Student>() .Name("StudentGrid") .Scrollable() .Columns(columns => { columns.Bound(o => o.Class).Groupable(true).Title("Class"); columns.Bound
@(Html.Kendo().Grid<Student>()
.Name("StudentGrid")
.Scrollable()
.Columns(columns =>
{
columns.Bound(o => o.Class).Groupable(true).Title("Class");
columns.Bound(o => o.Name).Groupable(true).Title("Name");
columns.Bound(o => o.Point).Groupable(true).Title("Point");
}).AutoBind(false)
.DataSource(dataSource => dataSource
.Ajax().Group(i => i.Add(a => a.Class))
.Read(read => read.Action("GetStudentPoint", "StudentControl"))
.Events(events => events.Error("error_handler"))
))
我的代码怎么了?即使网格的groupable=false,并且如果数据源上仍然有一个组,输出也会显示为grouped。如果你加上
$("#StudentGrid").data("kendoGrid").dataSource.Group("");
在dataSource.read()之前;这将清除所有的分组。只需将grid.groupable设置为false,即可关闭将列标题向上拖动到分组区域的功能
隐藏列应该可以工作,但之后可能需要在网格上调用refresh
$("#StudentGrid").data("kendoGrid").refresh();
下面是一个小示例(不使用MVC,但仍应适用) 谢谢,它不需要读取或刷新。就像这样可以:
var grid=$(“#grid”).data(“kendoGrid”);grid.dataSource.group(“”);网格。hideColumn(3)代码>
$("#StudentGrid").data("kendoGrid").refresh();