【问题标题】:Disable columns by default in SlickGrid在 SlickGrid 中默认禁用列
【发布时间】:2014-10-30 08:03:14
【问题描述】:

我一直在环顾四周,但没有发现(这很明显的功能?)在 slickgrid 中默认禁用列。

例如我有以下网格:

Name    Age     City     Nickname

例如,我希望禁用 city 列,并使其仅在用户转到自定义列选择器时可见,然后启用它。

谢谢

【问题讨论】:

    标签: javascript slickgrid


    【解决方案1】:

    我已经这样做了。

    var org_columns = [],hid_columns = [];
    org_columns.push(
    cb_selector.getColumnDefinition(),
    {id: "id", name: "ID", field: "id", sortable: true, width: 56},
    {id: "name", name: "Name", field: "name", editor: Slick.Editors.Text, sortable: true, width: 234},
    {id: "email", name: "Email", field: "email", editor: Slick.Editors.Text, sortable: true, width: 234}
    );
    
    hid_columns.push(
    cb_selector.getColumnDefinition(),
    {id: "name", name: "Name", field: "name", editor: Slick.Editors.Text, sortable: true, width: 234},
    {id: "email", name: "Email", field: "email", editor: Slick.Editors.Text, sortable: true, width: 234}
    );
    var data_view = new Slick.Data.DataView();
    grid = new Slick.Grid("#grid", data_view, hid_columns, grid_options);
    var columnPicker= new Slick.Controls.ColumnPicker(org_columns, grid,grid_options);
    

    【讨论】:

      【解决方案2】:

      有点迟的答案,但您可以在创建列选择器控件时传入另一个数组对象。

      var defaultColumns = [
      {id: "1", name: "1st Column" field: "Name"},
      {id: "2", name: "2st Column" field: "Age"}
      ],
      allColumns = [
      {id: "1", name: "1st Column" field: "Name"},
      {id: "2", name: "2st Column" field: "Age"}
      {id: "3", name: "3st Column" field: "Gender"},
      {id: "4", name: "4st Column" field: "Status"}
      ];
      
      //create grid and pass in defaultColumns
       grid = new Slick.Grid("#List", dataView, defaultColumns, options)
      
      //create the column control and pass in the allColumns
      columnpicker = new Slick.Controls.ColumnPicker(allColumns, grid, options, "#List");
      

      这将使用默认列初始化网格并将控件设置为包含所有可用列。它看起来不像 slickgrid wiki 包含有关列选择器控件的正确文档,我只知道因为我必须深入研究代码并添加一个按钮来重置视图。

      必填参考链接:https://github.com/mleibman/SlickGrid/wiki/Slick.Grid

      【讨论】:

        【解决方案3】:

        在对 SlickGrid 进行快速 RTFM 之后,我认为最简单的方法是使用 JS/JQ 操作它的类 - 正如您在开发人员工具中看到的那样,每一列和每一行都有定义行和列的类:

        <div class="ui-widget-content slick-row even" style="top:0px"><div class="slick-cell l0 r0">Task 0</div><div class="slick-cell l1 r1">5 days</div><div class="slick-cell l2 r2">92</div><div class="slick-cell l3 r3">01/01/2009</div><div class="slick-cell l4 r4">01/05/2009</div><div class="slick-cell l5 r5">true</div></div>
        <div class="ui-widget-content slick-row odd" style="top:25px"><div class="slick-cell l0 r0">Task 1</div><div class="slick-cell l1 r1">5 days</div><div class="slick-cell l2 r2">35</div><div class="slick-cell l3 r3">01/01/2009</div><div class="slick-cell l4 r4">01/05/2009</div><div class="slick-cell l5 r5">false</div></div>
        

        发件人:http://mleibman.github.io/SlickGrid/examples/example1-simple.html

        所以应该很容易:)

        【讨论】:

          猜你喜欢
          • 2012-04-05
          • 2023-03-28
          • 2012-03-07
          • 1970-01-01
          • 1970-01-01
          • 2012-05-19
          • 2013-01-04
          • 2012-09-21
          • 1970-01-01
          相关资源
          最近更新 更多