簡體   English   中英

僅下載 Tabulator 表中的選定行?

[英]download only selected rows in Tabulator table?

尋找有關如何下載僅包含 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. 我已經考慮過創建自定義下載功能的方法,該功能已記錄在案,但尚未嘗試。

有什么建議嗎?

恐怕目前這不可能作為內置功能,但這將在 4.7 版本中推出。

但是您過濾表的方法是一種很好的方法,您需要使用rowSelectedrowDeselected回調來切換行數據的屬性:

var table = new Tabulator("#example-table", {
    rowSelected:function(row){
        row.update({selected:true});
    },
     rowDeselected:function(row){
        row.update({selected:false});
    },
});

然后按此值過濾表:

table.setFilter("selected", "=", true);

可能和測試

不幸的是,沒有本機功能可以做到這一點,但我找到了一種解決方法來實現此功能。

短篇故事

  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", //為報表添加標題 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM