【问题标题】:AG-Grid - Show sort icon without reloading dataAG-Grid - 显示排序图标而不重新加载数据
【发布时间】:2021-11-08 19:20:42
【问题描述】:

我有一个 Angular 应用程序,当我加载页面时,尚未定义列。
这些列是在我检索数据(已经排序)时定义的。
因此,如果我在排序列上应用状态(在数据初始化后),数据会再次刷新,我想避免这种情况。

有没有办法在不使用 AG-Grid 刷新数据的情况下显示排序图标?

更明确地说,这是我的角度代码:

getRows(params: any): void {
  //retrieve my data
  this.myservice.getAll(params.currentPage, params.pageSize, params.sort).subscribe((data) => {
    //send my datas to AG-Grid
    params.successCallBack(data.results, data.totalItems);
    if (params.currentPage == 0 && this.firstLoad) {
      //my datas contain the columns definition
      this.initGrid(data.viewParams);
    }
  });
}

initGrid(viewParams: ViewParamsModel): void {
    this.firstLoad = false;
    this.dataGrid.setColumnDefs(viewParams.columns);

    //I try with this but it reloads my data
    this.gridColumnApi.applyColumnState({
         state: [
         {
            colId: 'name',
            sort: 'asc',
         }],
    });
}

【问题讨论】:

  • 你能说明你尝试了什么以及发布一些代码的问题是什么。是否对每一列数据进行了排序,并且您希望显示默认为所有已排序列启用的排序图标。
  • @Mahi 我更新了我的帖子。我想显示一列的排序图标,但是当我设置列时,我不希望重新加载数据

标签: ag-grid ag-grid-angular


【解决方案1】:

在做this.dataGrid.setColumnDefs(viewParams.columns)

添加sort: 'desc'/'asc'

columnDefs: [
    {
      field: 'Column1',
      sort: 'desc',   // <====== add this
    },

【讨论】:

  • 这有帮助吗?
  • 如果我这样做了,getRows 函数就会被召回。我想避免这种情况
猜你喜欢
  • 2018-06-11
  • 2020-07-12
  • 2017-09-16
  • 1970-01-01
  • 2017-06-10
  • 2022-01-23
  • 2017-06-26
  • 2018-08-15
  • 2016-11-22
相关资源
最近更新 更多