[英]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.