【问题标题】:Disable or enable Show/hide columns in jqgrid在 jqgrid 中禁用或启用显示/隐藏列
【发布时间】:2015-10-28 06:45:16
【问题描述】:

我的页面中有一个使用 jqgrid 构建的数据网格。在这里,我想在我的网格中禁用一个名为“显示/隐藏列”的选项。有什么办法,这样我就可以通过添加一个属性并传递一个值来禁用/启用它(即在这种情况下为真/假)。如果有人对此进行调查并提供帮助,那将是一个很大的帮助。

谢谢, 桑托什。

【问题讨论】:

  • 请附上相关代码如html和js
  • 得到了解决方案,感谢您的帮助。 @Pekka
  • 您应该更改所使用的标签。如果你使用 DataGrid 而不是 jqGrid 那么你应该使用相应的标签。

标签: jquery jqgrid


【解决方案1】:

就我而言,我在 jqgrid 库之上有一个名为 DataGrid.js 的 Wrapper js。其中包含所有功能。我有一个名为“addChooseColumnsButton”的函数,它将我网格上的图标添加到显示/隐藏列。你可以看到下面的函数。

DataGrid.prototype.addChooseColumnsButton = function() {

if (this.options.choose) {
    var me = this;
    this.grid.navButtonAdd(this.options.pager, {
        id: 'choose_cols_nav_btn',
        caption: '',
        buttonicon: 'ui-icon-calculator',
        title: 'Show/Hide columns',
        position: 'last',
        onClickButton: function() {
            me.chooseColumnsAction();
        }
    });
}

};

为了在我的网格上禁用相同的功能,我编写了如下的网格标记,属性“选择”为 false。

这个“选择”取自我的函数中的“if (this.options.choose)”。它解决了我的问题。

注意:为了避免从我们的库中调用函数,我们可以取“options”名称并将其设为“false”。在这种情况下,我选择了“this.options.choose”并设置为 false 以避免调用此函数。

【讨论】:

  • 您使用什么产品? jqGrid中不存在chooseColumnsActionDataGrid方法。如果所有的对象和方法都是您自定义的方法和对象,那么可以问其他读者哪个值有这样的代码?
  • 是的 Oleg,这些都是 jqgrid 库之上的自定义方法和 js 文件。只是想通知一下,使用上述方法可以避免调用 jqgrid 库中的函数。 @Oleg
猜你喜欢
  • 2015-11-09
  • 2020-11-24
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
相关资源
最近更新 更多