如何在datatables.js中添加子列/除列

时间:2016-06-27 13:16:30

标签: javascript datatables

我有一个包含子列的数据集。如何使用datatables.js进行模拟?
实施例

+-------+----------------------------+-----------+
| Name  | Marks                      | Rank      |
|       +---------+----------+-------+           |
|       |Internal | External | Total |           |
+-------+---------+----------+-------+-----------+
| Sandy |  24     |  55      | 79    |Distinction| 
+-------+---------+----------+-------+-----------+
| Bill  |  13     |  25      | 38    | Fail      |
+-------+---------+----------+-------+-----------+

目前我正在使用this,但当我将表保存为csv / xls时,我得到了

+------------------------------------------------+
| Name  |Internal | External | Total | Rank      |
|------------------------------------------------|
| Sandy |  24     |  55      | 79    |Distinction| 
|------------------------------------------------|
| Bill  |  13     |  25      | 38    | Fail      |
+------------------------------------------------+

但我们可以选择添加child rows

有没有办法拥有子列?或者我们可以划分一列吗?

2 个答案:

答案 0 :(得分:1)

不幸的是,目前版本的DataTables无法做到这一点。看到 DataTables论坛上的this question

  

目前没有选择。遗憾。

     

阿伦

来自插件的创建者。

您在评论中注意到excel可以制作这些表,但使用当前版本的DataTables无法以此格式自动导出DataTable。

修改 Here's这是一篇更新的论坛帖子,确认此功能无法使用。

答案 1 :(得分:1)

您可以模拟结构,但不能模拟布局。您的数据的JSON逻辑等效项将是:

[{
    "Name": "Sandy",
    "Marks": {
        "Internal": "24",
        "External": "55",
        "Total": "79"
    },
    "Rank": "Distinction"
}, {
    "Name": "Bill",
    "Marks": {
        "Internal": "13",
        "External": "25",
        "Total": "38"
    },
    "Rank": "Fail"
}]

你可以使用链接中的子表技巧设置它的方法是在表格中放置名称,等级和标记,当你点击一行打开它时,你会看到内部,外部和总计为"子行"在嵌入式表格中。

我怀疑你为获得布局而做的是在标题中放两行。我不太了解Excel,无法知道这个JSON结构是否会以自动为您提供所需布局的方式导入。如果是这样,也许你可以考虑某种黑客,你为表准备一个结构,为Excel准备另一个结构。