无限滚动ag网格角

时间:2019-10-06 09:19:03

标签: javascript angular ag-grid infinite-scroll ag-grid-angular

我正在使用agGrid社区在我的应用程序中实现无限滚动。我在同一网格上使用了两个不同的rest API。初始化时,我有一组数据,这些数据很好地与onGridReady方法中的DataSource一起加载。 单击任何行时,我将使用另一个rest api,并使用与onGridReady方法中相同的代码,但是单击行时,无限滚动不适用于第二个rest api。

让我知道是否需要更多信息。

我尝试了多种解决方法,但是如果我使用同一个网格从使用两个不同数据源的差异API中获取数据,则agGrid只能识别一个数据源。

下面是我的onGridReady(),它在加载应用程序时加载一些数据。

onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;

this.http
  .get("https://raw.githubusercontent.com/ag-grid/ag-grid/master/packages/ag-grid-docs/src/olympicWinners.json")
  .subscribe(data => {
    var dataSource = {
      rowCount: null,
      getRows: function(params) {
        console.log("asking for " + params.startRow + " to " + params.endRow);
        setTimeout(function() {
          var rowsThisPage = data.slice(params.startRow, params.endRow);
          var lastRow = -1;
          if (data.length <= params.endRow) {
            lastRow = data.length;
          }
          params.successCallback(rowsThisPage, lastRow);
        }, 500);
      }
    };
    params.api.setDatasource(dataSource);
  });

} }

我需要什么? 我正在使用onCellClicked()调用另一个rest api,它将具有不同的数据集,并且无限滚动也应该在那里工作。

这是我的onCellCliked()

//此函数呈现数据,但是当我向下滚动页面时,无限滚动不起作用。

onCellClicked() {

this.http
  .get("my second rest api url")
  .subscribe(data => {
    var newDataSource = {
      rowCount: null,
      getRows: function(params) {
        console.log("asking for " + params.startRow + " to " + params.endRow);
        setTimeout(function() {
          var rowsThisPage = data.slice(params.startRow, params.endRow);
          var lastRow = -1;
          if (data.length <= params.endRow) {
            lastRow = data.length;
          }
          params.successCallback(rowsThisPage, lastRow);
        }, 500);
      }
    };
    params.api.setDatasource(newDataSource);

  });

}

我还需要无限滚动才能在onCellClicked()上工作。

0 个答案:

没有答案