0

好的,所以我在桌子上工作。我在这个特定的表上使用 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({...})似乎都没有粘住。尽管是错误的分页仍然显示,自动宽度,尽管是真的不会坚持将所有列变成不可排序的列不起作用。

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

4

2 回答 2

1

你可能想做这样的事情:

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

然后

        "aoColumnDefs": [ 
            { "bSortable": false, "aTargets": nonSortableColumns }
        ],
于 2012-09-21T18:36:34.727 回答
0

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

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

于 2012-09-21T21:15:45.233 回答