2016-01-06 153 views
0

我有一個ag-grid,我正在動態加載數據。我已啓用列排序,但它不起作用。當我點擊列標題時沒有任何反應。我不確定問題是什麼。以下是我的代碼:ag-grid不能正常工作的列排序

var colobj = {}; 
    for(i = 0; i< file.fieldMetadata.length; i++){ 

    var len = file.fieldMetadata[i].name.length; 

    colobj = {'headerName' : file.fieldMetadata[i].name, 'field' : file.fieldMetadata[i].name, sortingOrder: ['asc','desc', 'null']}; 

vm.columnDefs.push(colobj); 

    vm.gridOptions.api.setColumnDefs(vm.columnDefs); 
    vm.gridOptions.api.setRowData(vm.fileContentsCols); 
    vm.gridOptions.enableSorting = true; 

回答

1

enableSorting在此處不起作用。只有調用API函數才能工作。

你必須從頭開始設置gridOptions.enableSorting = true(不是在接收數據之後)。

gridOptions只是初始化的持有者。網格初始化後,api字段可用於與網格交互,所有對參數的更改都不起作用。

+0

謝謝!這工作! –

+0

你能提供一個這樣的例子嗎?在我的表中,我正在生成數據,然後使用自定義cellRenderer設置columnDefs,然後設置gridOptions,創建一個新的Grid,然後使用gridOptions.api.setRowData(data)填充網格; 使用自定義cellRenderer的任何列都不排序。 – stuffyjoelab

+0

我已經在angularjs1的ag-grid版本3中停止了。我的樣本可能不是最新的。你應該問一個有足夠細節的新問題。如果您使用customCellRenderer,則可能需要重載valueGetter。不是說我在處理服務器的排序問題,所以我對前端排序不太熟悉。 – Walfrat