ag-Grid
的 gridApi
提供了一系列功能,允許你對網格進行各種操作,如資料操作、過濾、排序、分頁等。以下是一些常用的 gridApi
方法及其功能:
資料操作
-
setRowData(rowData)
: 設定網格的資料。gridApi.setRowData(myRowData);
-
updateRowData(transaction)
: 更新網格的資料。const transaction = { add: [{...}], update: [{...}], remove: [{...}] }; gridApi.updateRowData(transaction);
-
getRowNode(id)
: 根據行 ID 獲取行節點。const rowNode = gridApi.getRowNode('someId');
-
applyTransaction(transaction)
: 應用資料事務(新增、更新、刪除)。gridApi.applyTransaction({ add: [{...}], update: [{...}], remove: [{...}] });
過濾和排序
-
setFilterModel(model)
: 設定過濾模型。gridApi.setFilterModel({ colId: { type: 'contains', filter: 'text' } });、
-
getFilterModel()
: 獲取當前的過濾模型。const filterModel = gridApi.getFilterModel();
-
setSortModel(model)
: 設定排序模型。gridApi.setSortModel([ { colId: 'field', sort: 'asc' } ]);
-
getSortModel()
: 獲取當前的排序模型。const sortModel = gridApi.getSortModel();
選擇
-
selectAll()
: 選擇所有行。gridApi.selectAll();
-
deselectAll()
: 取消選擇所有行。gridApi.deselectAll();
-
getSelectedRows()
: 獲取所有被選中的行資料。const selectedRows = gridApi.getSelectedRows();
-
getSelectedNodes()
: 獲取所有被選中的行節點。const selectedNodes = gridApi.getSelectedNodes();
分頁
-
paginationGoToNextPage()
: 跳轉到下一頁。gridApi.paginationGoToNextPage();
-
paginationGoToPreviousPage()
: 跳轉到上一頁。gridApi.paginationGoToPreviousPage();
-
paginationGoToFirstPage()
: 跳轉到第一頁。gridApi.paginationGoToFirstPage();
-
paginationGoToLastPage()
: 跳轉到最後一頁。gridApi.paginationGoToLastPage();
-
paginationGoToPage(pageNumber)
: 跳轉到指定頁。gridApi.paginationGoToPage(2);
重新整理和重繪
-
refreshCells(params)
: 重新整理單元格。gridApi.refreshCells({ force: true, // 強制重新整理 rowNodes: [rowNode], // 只重新整理特定行 columns: ['colId'] // 只重新整理特定列 });
-
redrawRows(params)
: 重繪行。gridApi.redrawRows({ rowNodes: [rowNode] // 只重繪特定行 });
-
refreshView()
: 重新整理整個檢視。gridApi.refreshView();
其他
-
sizeColumnsToFit()
: 調整列寬以適應網格寬度。gridApi.sizeColumnsToFit();
-
exportDataAsCsv(params)
: 匯出資料為 CSV 檔案。gridApi.exportDataAsCsv({ fileName: 'my-data.csv' });
-
getDisplayedRowAtIndex(index)
: 獲取顯示的行節點。const rowNode = gridApi.getDisplayedRowAtIndex(0);
-
getFirstDisplayedRow()
: 獲取第一個顯示的行節點。const firstRowNode = gridApi.getFirstDisplayedRow();
-
getLastDisplayedRow()
: 獲取最後一個顯示的行節點。const lastRowNode = gridApi.getLastDisplayedRow();