Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JS中动态地将网格分组为false/true?_Javascript_Jquery_Kendo Ui_Kendo Grid_Kendo Asp.net Mvc - Fatal编程技术网

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();