首页 > 解决方案 > 仅下载 Tabulator 表中的选定行?

问题描述

寻找有关如何下载仅包含 Tabulator 表中选定行的 (CSV) 的指南。

我正在使用这样的行选择器:

{title: "Selector", formatter: "rowSelection", titleFormatter: "rowSelection", align: "center", headerSort: false, cellClick: function (e, cell) {
   cell.getRow().toggleSelect();
}}
  1. 我没有找到这方面的示例或问题,并且文档(虽然很好)并没有揭示一个简单的方法。

  2. 除了表格对象之外,我没有找到 .download 方法作为任何东西的一部分。

  3. 我没有运气尝试通过选择过滤表,然后下载,然后取消过滤。过滤器似乎适用于基础数据字段,并且未找到此 Selected 列,尽管我想我可以考虑在代码中为此管理数据字段。

  4. 我考虑过创建第二个表的方法,将选定的行复制到它上面,然后在销毁它之前下载它,但没有尝试过。

  5. 我已经考虑过创建自定义下载功能的方法,该功能已记录在案,但尚未尝试过。

有什么建议吗?

标签: javascripttabulator

解决方案


可能 && 测试

不幸的是,没有本机功能可以做到这一点,但我找到了一种解决方法来实现此功能。

短篇故事

  1. 创建另一个隐藏的表格 div(比如说 table2)
  2. 从 table1 中选择行(通过单击或按功能)
  3. 通过以下方式获取所选数据

var rows = table.getData("selected")

  1. Init table2 将行作为数据传递(按照列的 SoP)
  2. 将此隐藏表传递给 CSV/PDF 函数以下载 CSV/PDF。

//您可以将类型更改为 CSV 以进行 CSV 下载

table2.download("pdf", "data.pdf", {orientation: "portrait", //将页面方向设置为纵向 title: "Example Report", //为报告添加标题 });


推荐阅读