在dataTables jQuery插件中使列不可移植

时间:2013-12-10 15:08:24

标签: jquery jquery-plugins datatable datatables jquery-datatables

我正在使用DataTables jQuery插件进行表格表示。

我的表的第一列是行计数器,我不想在其中对计数器进行排序。如何才能使这些列无法使用?

enter image description here

$('#usersTable').dataTable({
        "sDom": "<'row'<'span6'<'#jTableHeader'l>><'span6'f>r>t<'row'<'span6'<'#jTableFooter'>><'span6'p>>",

        "iDisplayLength": 10,
        "aLengthMenu": [[10,25,50,-1],[10,25,50,"All"]],

        "sPaginationType": "bootstrap",
        "aaSorting": [[2, "asc"]],
        "aoColumns": [
            {"bSortable": false},
            {"bSortable": false},
            {"sType": "string"},
            {"sType": "string"},
            {"sType": "string"},
            {"sType": "date"},
            {"bSortable": false}
        ]
    });

1 个答案:

答案 0 :(得分:1)

你不能。如果您对其他列进行排序,则无论如何都会对列进行排序。

但是,如果您只想维护# - 订单,则无论其他列的内容/排序如何,您都可以轻松模仿所需的行为。例如,我认为你真正想要的东西总是在第一列中有#1#2#3,无论如何 - 对吗?

考虑此代码,使用fnDrawCallback确保第一列始终包含递增数字1..n,行计数器:

var dataTable = $('#example').dataTable({
    aoColumns: [ 
       { "bSortable": false },
       null,
       null,
       null,
       null
    ],
    fnDrawCallback : function( oSettings ) {
       $(this).find('tbody tr').each(function(index) {
         $(this).find('td').first(0).text(index+1);
       });
     }
});

看工作小提琴 - &gt;的 http://jsfiddle.net/2bye2/