【问题标题】:datatables with rowGrouping plugin aoColumns definitions fail具有 rowGrouping 插件 aoColumns 定义的数据表失败
【发布时间】:2012-09-14 05:04:29
【问题描述】:

好的,我正在处理一张桌子。我在这个特定的表上使用 rowGrouping。到目前为止,我在数据表方面没有遇到过严重的问题。

我正在通过 php 呈现我的表格,然后在加载 DOM 时我在其上调用数据表。所以它创造了所有花哨的桌子。哪个花哨的部分效果很棒,而且大部分都符合预期。然而。我想通过aoColumns 对象隐藏列,我想禁用对其他人的排序,以及其他所有内容。其中我似乎做不到。所以我不确定在这种情况下该怎么做

这是我用于行分组的 JavaScript/数据表调用。

    var oTable = $('#orgListings').dataTable({
                            "bAutoWidth": true,
                            "bRetrieve": true,
                            "bPaginate": false,
                            "aoColumns":
                            [
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false }
                            ]
        }).rowGrouping({
                iGroupingColumnIndex: 1,
                sGroupingColumnSortDirection: "asc",
                iGroupingOrderByColumnIndex: 0,
                bExpandableGrouping: true, 
                bExpandSingleGroup: true,
                iExpandGroupOffset: -1
        });
        $('#orgListings_length, #orgListings_filter').hide()
        $(window).bind('resize', function(){oTable.fnDraw();});

我的桌子很相似,但不完全一样

<table>
  <thead>
     <tr>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
     </tr>
  </thead>
  <tbody>
     <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
     <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
     <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
  </tbody>
</table>

再次,行分组似乎工作正常。但是dataTable({...}) 中的任何内容似乎都无法坚持。分页尽管是假的仍然显示,自动宽度,尽管是真的不会坚持将所有列变成不可排序的列不起作用。

所以我想知道我做错了什么?以及如何解决它

【问题讨论】:

    标签: php jquery html css datatable


    【解决方案1】:

    终于找到了我的问题。显然我从themeforest.net购买的“白标”模板的作者使用了一些代码 $content.datatable({sPagination:"full_numbers"}); 在全球化的 script.js 中。这是在我的桌子上运行的,然后其他任何东西都让我在$.datatable 调用中自定义的任何东西在任何桌子上都毫无用处。我在找到它后评论了这一点,一切都按数据表的预期工作。

    感谢 Todd Gibson,您的建议非常有助于为我的整体代码库添加一点优化,不幸的是,这并不能解决我最初的问题,但您确实在其他方面帮助了我。

    【讨论】:

      【解决方案2】:

      你可能想做这样的事情:

      var nonSortableColumns = new Array(0, 1, 2, 3);
      

      然后

              "aoColumnDefs": [ 
                  { "bSortable": false, "aTargets": nonSortableColumns }
              ],
      

      【讨论】:

        猜你喜欢
        • 2012-09-05
        • 2018-09-14
        • 2017-02-24
        • 1970-01-01
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多