我正在尝试将默认排序设置为jquery数据表中的第二列。它默认按索引0排序。我使用的是"aaSorting": [[ 1, "asc" ]]
语法,但它突出显示了我在初始加载时不需要的列。如何在不突出显示列的情况下设置特定列的默认排序,就好像不涉及排序并且正在使用0索引列一样。
答案 0 :(得分:47)
这是执行它的实际代码......
$(document).ready(function()
{
var oTable = $('#myTable').dataTable();
// Sort immediately with column 2 (at position 1 in the array (base 0). More could be sorted with additional array elements
oTable.fnSort( [ [1,'asc'] ] );
// And to sort another column descending (at position 2 in the array (base 0).
oTable.fnSort( [ [2,'desc'] ] );
} );
要不突出显示该列,请像这样修改CSS:
table.dataTable tr.odd td.sorting_1 { background-color: transparent; }
table.dataTable tr.even td.sorting_1 { background-color: transparent; }
答案 1 :(得分:15)
您可以使用fnSort功能,请参阅此处的详细信息:
答案 2 :(得分:3)
最佳选择是禁用排序,只提供所需排序顺序的数据(来自数据库或其他来源)。尝试将其添加到“数据表”中: “bSort”:false
答案 3 :(得分:0)
Datatables支持此功能的HTML5 data- *属性。
它支持排序顺序中的多个列(它基于0)
<table data-order="[[ 1, 'desc' ], [2, 'asc' ]]">
<thead>
<tr>
<td>First</td>
<td>Another column</td>
<td>A third</td>
</tr>
</thead>
<tbody>
<tr>
<td>z</td>
<td>1</td>
<td>$%^&*</td>
</tr>
<tr>
<td>y</td>
<td>2</td>
<td>*$%^&</td>
</tr>
</tbody>
</table>
现在我的jQuery只是$('table').DataTables();
,我的第二和第三列以desc / asc顺序排序。
以下是我发现自己重复使用的<table>
的其他一些不错的属性:
data-page-length="-1"
会将页面长度设置为全部(页面长度为25时传递25)...
data-fixed-header="true"
...猜猜
答案 4 :(得分:0)
我也有这个问题。我使用了stateSave
选项,这就产生了这个问题
删除此选项并解决问题。
答案 5 :(得分:0)
使用它对我有用: &#34;命令&#34;:[[1,&#34; ASC&#34; ],
答案 6 :(得分:0)
这对我有用:
jQuery('#tblPaging').dataTable({
"sort": true,
"pageLength": 20
});
答案 7 :(得分:0)
只需包含以下代码:
$(document).ready(function() {
$('#tableID').DataTable( {
"order": [[ 3, "desc" ]]
} );
}
);
带有示例的完整参考文章:
https://datatables.net/examples/basic_init/table_sorting.html