【问题标题】:How to hide a jqgrid column dynamically如何动态隐藏 jqgrid 列
【发布时间】:2013-10-31 06:39:37
【问题描述】:

我正在我的 asp.net MVC Web 应用程序中实现 jqgrid。

在我的网格中,我有两列编辑和删除。仅当用户以 admin 身份登录时,删除才可见。

我们如何在 jqgrid 中动态隐藏.显示列。我有一个会话变量来检查登录用户是否是管理员。

我正在 javascript 中访问该变量。但是,不知道如何在 jqgrid 中隐藏/显示列

请帮忙..

【问题讨论】:

    标签: c# asp.net-mvc jqgrid show-hide


    【解决方案1】:

    我今天不得不深入研究一些遗留问题。其中一项要求是有条件地设置某些列的可见性。页面上有一个下拉菜单,用于在网格的 where 子句中设置类别参数。长话短说,观察下拉菜单的变化事件是不可能的,这使得这里答案中的大多数方法无效。

    我能够在隐藏参数中使用三元组来设置可见性。

    {
        name: 'mfg',
        index: 'mfg',
        width: 150,
        sortable: true,
        hidden: $('#evCategory').val() == 'Calibration' ? false : true
    },
    

    它只是评估下拉菜单是否有校准隐藏的值应该为假,如果校准不是隐藏的值应该为真。

    也可以缩短为;

    !$('#evCategory').val() == 'Calibration' || true
    

    虽然我还没有测试过。

    【讨论】:

      【解决方案2】:

      较新的 API

      jQuery("#list").jqGrid('hideCol',["ColumnName","ColumnName2"]);
      

      旧 API

      $("#list").hideCol("ColumnName")
      

      【讨论】:

        【解决方案3】:

        这不是使用 js 管理您的安全性的最佳做法。您不应该在服务器端显示此列!

        【讨论】:

        • 我根据会话信息从服务器端调用该 javascipt。所以,我想我是从服务器端本身做的。我认为 jqgrid 是纯粹的 jquery 插件。我认为没有其他方法可以做到这一点,而不是使用 jquery ..
        • 我同意@Suwer - 我使用服务器以编程方式写出列模型。如果用户没有权限,则删除列永远不会写出到他们的浏览器。它不是“隐藏”在他们可能在视图源中发现它的地方。它根本就没有那里
        【解决方案4】:

        这个成功了:

        $("#list").hideCol("ColumnName")
        

        【讨论】:

          【解决方案5】:

          使用此代码,

          jQuery("#list").jqGrid('hideCol',["colModel1_name","colModel2_name"]);
          jQuery("#list").jqGrid('showCol',["colModel1_name","colModel2_name"]);
          

          希望对您有所帮助。

          【讨论】:

          • @Vinoth..colmodel1 和 colmodel2 是什么?
          • 两者都是您的 colmodel 定义中的名称,它们是您要隐藏的列。
          • 如果我需要在添加表单对话框中隐藏 colModel 怎么办?我在 beforeShowForm 中试过了,但是没用,
          • 查看answer
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-12-12
          • 1970-01-01
          • 2015-03-28
          • 1970-01-01
          • 2016-07-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多