带有rowGrouping插件的数据表aoColumns定义失败

时间:2012-09-21 18:31:33

标签: php jquery html css datatable

好的,我正在办公桌上。我在这个特定的表上使用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({...})内的任何内容似乎都没有。 Pagination尽管是假的仍然显示,自动宽度,尽管是真的不坚持将所有列转换为不可排序的列不起作用。

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

2 个答案:

答案 0 :(得分:1)

你可能想做这样的事情:

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

然后

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

答案 1 :(得分:0)

终于找到了我的问题。显然我从themeforest.net购买的“White Label”模板的作者使用了一些代码 $content.datatable({sPagination:"full_numbers"}); 在全球化的script.js中。这是在我的桌子上运行之前的任何事情因此留下我在$.datatable调用中自定义的任何内容在任何桌子上无用。我评论说,在发现它之后咬了一口,一切都按照数据表的预期工作。

谢谢Todd Gibson,你的建议对我的整体代码库添加一些优化非常有帮助,不幸的是它不是我最初问题的修复,但你确实以其他方式帮助了我。