ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 如何在JS中动态地使gird groupable为false / true?

2019-08-31 14:37:20  阅读:202  来源: 互联网

标签: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(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"))
))

现在我想让gird groupable为false并隐藏class列.这意味着,我不想将学生数据分组并隐藏类列:

$("#StudentGrid").data("kendoGrid").Groupable( false );
$("#StudentGrid").data("kendoGrid").hideColumn(0);
$("#StudentGrid").data("kendoGrid").dataSource.read();

我的代码出了什么问题?

解决方法:

即使网格具有groupable = false,并且dataSource仍然有一个组,输出也会显示为分组.如果你只是添加

$("#StudentGrid").data("kendoGrid").dataSource.Group("");

在dataSource.read()之前;这应该清理任何分组.仅将grid.groupable设置为false只会关闭将列标题拖动到按区域分组的功能.

隐藏列应该正常工作,但您可能需要在网格上调用刷新.

$("#StudentGrid").data("kendoGrid").refresh();

这是一个小样本(不使用MVC,但仍应适用). http://jsbin.com/iNagENo/2/edit

标签:javascript,jquery,kendo-ui,kendo-grid,kendo-asp-net-mvc
来源: https://codeday.me/bug/20190831/1776163.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有