option order 设置排序列(去掉第一列的排序和小图标)
DataTables中文网 5 May 2016 复制本页地址
Tags: 不定时一讲
参数详解连接 orderOption
order不定时一讲
第一列的排序去不掉,这个问题在群里出现的频率很高,这里讲下为什么去不掉
- 禁用排序
1 2 3 | $('#example').DataTable( { "ordering": false } ); |
当然这个处理方式不得行,所有列都不能排序了,我要的是第一列不排序
- 设置第一列不排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $('#example').DataTable( { "columnDefs": [ { "orderable": false, "targets": 0 } ] } ); $('#example').DataTable( { "columns": [ { "orderable": false }, null, null, null, null ] } ); |
这下会可以了吧?
……
为什么有个小三角还在那里?WK…… 怎么去掉?
不卖关子了,这里出现这个的 原因 在于 orderOption
order不定时一讲
的默认值是 [[0, 'asc']]
,给第一列设置了升序排列,感觉像一个小小的bug,不知道新版的有没有解决
正因为这个默认值导致了这一系列的 问题 ,所以下面给出解决办法
- 取代默认的值
1 2 3 | $('#example').DataTable( { "order": [] } ); |
不设置默认排序
- 把默认的排序列设置其他列
1 2 3 | $('#example').DataTable( { "order": [[ 1, 'asc' ]] } ); |
设置第二列为升序
如果首列还是显示排序小图标,没有办法了,终极解决方案:
方法:去掉第一列的图标
在drawCallback回调方法中去除sorting_asc样式
"fnDrawCallback": function( oSettings ) {
$("#datatable thead tbody th:first").removeClass("sorting_asc");//移除checkbox列的排序箭头
}