在数据表中初始化(初始化完成)后禁用排序列

Disable Ordering Columns after initialization (init complete) in datatables

本文关键字:初始化 排序 数据表      更新时间:2023-09-26

我会在绘制数据表后禁用用户的订单可能性。我有一个数据表,我会对数据进行排序并删除用户手动排序数据的可能性。我该怎么做?

我使用了以下代码:

table = $('#tbl-1').DataTable({
            "info": false,
            "searching": true,
            "paging": false,
            "iDisplayLength": 25,
            "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "Tutti"]],
            "language": {"url": "include/it_IT.txt"},
            "order": [[1,"desc"]],              
            //"ordering": false,
            //"orderFixed": {"pre": [ 1, "desc" ]},                             
             "fnInitComplete": function(oSettings, json) {
                    //alert( 'DataTables has finished its initialisation.' );
                    this.fnFilter("<?php echo $_POST['search'];?>");                        
                  },
            }).on('init.dt', function (e, settings, data) {
                wrappa(); //after custom function
            });

旧帖子,但仍然没有被DT API处理。如果要暂时禁用排序,则删除事件将不起作用。相反,使用 jquery 在每个类上添加并稍后删除一个类,并在该类中指定"指针事件:无"。

由于 API 没有办法做到这一点,我建议采用以下方法

首先声明您的表

var table = $('#myTable').DataTable();

重新初始化数据表以禁用排序

//Destroy your table before
table.destroy();
$('#myTable').dataTable( {
  "ordering": false
} );

参考:https://datatables.net/reference/option/ordering