2017-05-08 122 views
1

我有一個Ag-grid(免費reactjs版本),有很多列和記錄要加載。ag-grid:顯示隱藏列(被拖出)

某些列不是必需的,所以用戶可以將列拖出網格(因此隱藏它們)。這很好,但用戶如何在不刷新頁面的情況下再次顯示隱藏列?

我不想壓制列拖動,只是一種方法來撤消隱藏而不刷新。

有什麼建議嗎?

回答

2

無恥插件:企業版在兩個地方有這個功能,Tool PanelColumn Menu


不過,值得慶幸的是它是相當容易實現此功能使用單一columnApi呼叫自己,嗯......其中之一:

  • resetColumnState()

    • 這將重置列的狀態與您最初定義的列的狀態。它將基本上使一切可見的再
  • setColumnVisible(colKey, visible)

    • 只是通過在列的colId(通常是你傳遞的「田」 ......但它可以根據您的不同設置)和truthy或falsey值,這將顯示/隱藏欄
  • setColumnsVisible(<Array> colKeys, visible)

    • 注意小號 - 比,這是和以前一樣,但是你提供你想要的所有隱藏或顯示colKeys陣列等。如果您想提供所有列的一個陣列,它們是否應該顯示與否,然後使用這裏的最後一個選項setColumnState
  • setColumnState(<Array> columnState)

    • 另一個數組這可能是你矯枉過正正在嘗試做,但這將允許您設置所有列的狀態,不管它們是否可見,固定到不同的側面,固定寬度等。

基本上我可以看到你在做兩件事情之一:

  1. 創建一個按鈕,這將使所有列可見,並呼籲gridOptions.columnApi.resetColumnState()點擊

- 或 -

  1. 創建一個複選框列表,它將監聽更改並調用其他功能之一。這個列表可能在你的網格之外,或者甚至在你的網格內的一個Custom Filter Component(找到第一個例子的運動員列以查看我的意思。)