好的,我正在办公桌上。我在这个特定的表上使用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尽管是假的仍然显示,自动宽度,尽管是真的不坚持将所有列转换为不可排序的列不起作用。
所以我想知道我做错了什么?我该如何解决呢?
答案 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,你的建议对我的整体代码库添加一些优化非常有帮助,不幸的是它不是我最初问题的修复,但你确实以其他方式帮助了我。