DataTables.js-动态更改列优先级

时间:2019-02-26 05:40:17

标签: javascript datatables

我正在使用带有响应式插件的数据表。初始化数据表时,我在每一列上都设置了响应优先级。

我希望我的用户在查看表时能够设置自己的优先级,以防他们感兴趣的列之一由于屏幕分辨率而当前被隐藏。

示例: 数据表为A,B,C,D和E列

由于屏幕分辨率,用户只能看到A,B,C和D。

我希望用户能够将D的响应优先级与E的响应优先级进行切换,以便出现E而不是D。

有什么方法可以通过Datatables实现这一目标吗?

我无法在数据表初始化之外找到任何更新或设置响应优先级的方法。

我也尝试过colReorder插件,虽然允许我将它们切换到另一列,但它们都可见,但是当我尝试切换不可见列时,什么也没发生:

var table;
$(document).ready(function() {
    var table = $('#tabTest').dataTable({
     "columns": [
            {   
          "responsivePriority": 1
        },
        {   
          "responsivePriority": 2
        },
        {   
          "responsivePriority": 3
        },
        {   
          "responsivePriority": 4
        },
        {   
          "responsivePriority": 5
        },
        {   
          "responsivePriority": 5
        }
      ],
      "colReorder": true,
    });
    $(document).on('click', '#switchme', function(){
        $('#tabTest').DataTable().colReorder.move(4,5);
    });
});

https://jsfiddle.net/jcqk5m18/1/

1 个答案:

答案 0 :(得分:0)

documentation

<tr>
            <th data-priority="1">First name</th>
            <th>Last name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
            <th>E-mail</th>
            <th data-priority="2">Extn.</th>
        </tr>

您可以使用data-priority="{some variable}"