我有一个ag-grid,我正在动态地加载数据。我已经启用了列排序,但它不起作用。当我点击列标题时没有任何React。我不知道是什么问题。下面是我的代码:
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;
5条答案
按热度按时间mfpqipee1#
enableSorting在这里不起作用。只有调用API函数才能工作。
您必须从一开始就设置gridOptions.enableSorting = true(而不是在接收数据之后)。
gridOptions仅仅是初始化的保持器。一旦网格初始化,API字段就可以与网格交互,所有对参数的更改都将无效。
wvt8vs2t2#
使用此方法作为比较器
bd1hkmkf3#
这里使用自定义排序,
如果行没有与值绑定,则使用自定义排序。
siv3szwd4#
对于想知道为什么在Angular中会发生这种情况的人:
我也遇到了同样的问题,我动态地设置了enableSorting和其他布尔值,但是在设置了columnDefs之后。由于这种初始化顺序,enableSorting无法工作。
我在columnDefs之前首先初始化了我的布尔字段,它就像一个魅力:
hmmo2u0o5#
使用自定义排序。它会像那样工作
有关更多信息,请阅读文档
https://www.ag-grid.com/javascript-data-grid/row-sorting/