数据表-列的块排序

菠菜

我正在使用数据表Jquery插件。谁能帮我阻止表格对第一列和第二列进行排序?

我需要用户能够单击其他列并对它们进行排序,但是当我这样做时,前两列也会进行排序。这些值可以被锁定并且永不排序吗?(我需要它们是静态的)

亚当

对于那些希望防止对列进行排序但仍允许它们在对其他列进行排序时进行排序的人:

$('#table').dataTable({
        // Disable sorting on the first two columns
        "aoColumnDefs" : [ {
            'bSortable' : false,
            'aTargets' : [ 0,1 ]
        } ]
    });

或者,您也可以像这样定位一个类:

// Disable sorting based on class
"aoColumnDefs" : [ {
    "bSortable" : false,
    "aTargets" : [ "disableSort" ]
} ]

将类应用于表标题而不是行。

对于OP,如何使列完全静态,以便在每次单击列时保持某种排名/索引功能:

$(document).ready(function() {
    $('#example').dataTable( {
        "fnDrawCallback": function ( oSettings ) {
            /* Need to redo the counters if filtered or sorted */
            if ( oSettings.bSorted || oSettings.bFiltered )
            {
                for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
                {
                    $('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
                }
            }
        },
        "aoColumnDefs": [
            { "bSortable": false, "aTargets": [ 0 ] }
        ],
        "aaSorting": [[ 1, 'asc' ]]
    } );
} );

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章