[英]jquery datatables default sort
我试图将默认排序设置为我的jquery数据表中的第二列。 它默认按索引0排序。我使用的是"aaSorting": [[ 1, "asc" ]]
语法,但它突出显示了我在初始加载时不需要的列。 如何在不突出显示列的情况下设置特定列的默认排序,就好像不涉及排序并且正在使用0索引列一样。
有几种选择:
在初始化DataTables之后,删除TBODY中TD元素的排序类。
使用http://datatables.net/ref#bSortClasses禁用排序类。 问题在于它将禁用用户排序请求的排序类 - 这可能是您想要的,也可能不是。
让您的服务器按所需的排序顺序输出表,并且不对表应用默认排序( aaSorting:[]
)。
这是实际的代码...
$(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; }
您可以使用fnSort函数,请在此处查看详细信息:
最好的选择是禁用排序,只提供所需排序顺序的数据(来自数据库或其他来源)。 尝试将其添加到'datatable':“bSort”:false
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"
将页面长度设置为All(页面长度为25时传递25)...
data-fixed-header="true"
...猜一猜
我也有这个问题。 我使用了stateSave
选项,这就解决了这个问题。
删除此选项,问题解决了。
使用它对我有用:“命令”:[[1,“ASC”]],
这对我有用:
jQuery('#tblPaging').dataTable({
"sort": true,
"pageLength": 20
});
只需包含以下代码:
$(document).ready(function() {
$('#tableID').DataTable( {
"order": [[ 3, "desc" ]]
} );
}
);
完整的参考文章与示例:
https://datatables.net/examples/basic_init/table_sorting.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.