如何交换数据表列

时间:2016-12-18 04:57:37

标签: javascript jquery datatables datatables-1.10

所以我从API获取数据。这个数据有13个不同的列,但在我的数据表表中我只想一次显示4个。为了从ux的角度提出一个干净的解决方案,我构建了一个下拉列表,用户可以选择13列中的一列来切换数据。不幸的是我无论如何都看不到这样做所以请帮助。

这是我到目前为止所尝试的内容:

  • 将所有不可见的列设置为visible:false,并在调用它们时使其可见。然后使用隐形
  • 切换列
  • colReorder
  • 清除表,使用jquery将dom标头修改为正确的标题,然后使用该列重新初始化表。这不起作用,因为数据必须与用户交换列
  • 之前的顺序相同

1 个答案:

答案 0 :(得分:1)

你可以使用jQuery函数.hide和.show来完成它。我这样做的方法是找到该列中标题标题的索引。例如:

(table).find('th').index($(table.find('th:contains(' + select + ')')))

其中select是活动或非活动列的标题标题。

然后用:

table.DataTable().column(j).visible(false);

您可以隐藏该列,(可见(true)显示该列)。其中j是索引+ 1,用于控制列。它在html中有点黑客攻击,但它确实有用。