我正在研究Jquery中的datatable插件。并且必须设置数据排序的默认列,所以我的意思是:
我有一个包含4列的表,默认情况下,数据按第1列排序,我希望数据按列号2或3排序。
如何做到这一点:
$('#tblMainTable').dataTable({
"bJQueryUI" : true,
"sDom" : 'R<"H"lfr>t<"F"ip<',
"aoColumns" : [
{"bSortable" : false},
null,
null,
null,
{"bSortable" : false},
{"bSortable" : false}
],
"aaSorting": [[ 2, "desc" ]]
});
我在“aaSorting”中指定了但没有得到结果。
请说清楚一点?
答案 0 :(得分:25)
datatable api中的示例是这样的:
$(document).ready(function() {
var oTable = $('#example').dataTable();
// Sort immediately with columns 0 and 1
oTable.fnSort( [ [0,'asc'], [1,'asc'] ] );
} );
答案 1 :(得分:7)
我知道你现在有了答案,但是从DatatTable API开始,这是一个更简单的方法
$('#tblMainTable').dataTable({
"order": [[1, "desc"], [2, "desc"]]
});
请注意索引是从0'零'开始,因此示例意味着“第2列和第3列是默认排序列及其降序(使用asc进行升序)。”
答案 2 :(得分:2)
我知道你得到了答案,但只是为了记录
您也可以使用参数
从服务器端对其进行排序params.iSortCol_0
它基本上是一个整数0,1,2 ..意思是第一,第二,第三......列。所以你可以在获取数据之前写一个开关..
String sortOn = 'firstcolumnname'; //default
switch(params.iSortCol_0 as int) {
case 0:
sortOn = 'id';
break;
......
}
并按查询顺序包含此内容
order by ${sortOn}
希望这会有所帮助