Ag grid ag电网是否有onScroll事件
我正在ag grid上查找滚动事件,我想知道滚动何时结束并加载下一组行,我知道如果设置无限滚动模式,ag grid将调用getRows方法,但在我的应用程序中,我无法立即获取下一组行,我向服务器打了一个电话,服务器向客户端发送一条单独的消息,其中包含一组新的行,您应该能够按照下面的示例进行操作(从服务器加载数据) 首先,定义Ag grid ag电网是否有onScroll事件,ag-grid,ag-grid-react,ag-grid-angular,Ag Grid,Ag Grid React,Ag Grid Angular,我正在ag grid上查找滚动事件,我想知道滚动何时结束并加载下一组行,我知道如果设置无限滚动模式,ag grid将调用getRows方法,但在我的应用程序中,我无法立即获取下一组行,我向服务器打了一个电话,服务器向客户端发送一条单独的消息,其中包含一组新的行,您应该能够按照下面的示例进行操作(从服务器加载数据) 首先,定义数据源 const dataSource: IServerSideDatasource = { getRows: (params: IServerSideGetRows
数据源
const dataSource: IServerSideDatasource = {
getRows: (params: IServerSideGetRowsParams) => this._getRows(params, [])
};
this.gridApi.setServerSideDatasource(dataSource);
像这样声明\u getRows
方法
private _getRows(params: IServerSideGetRowsParams, data: any[]) {
this.gridApi.showLoadingOverlay();
service.getData(params) // the payload your service understands
.subscribe((result: any[]) => {
params.successCallback(result, -1);
params.failCallback = () => console.log('some error occured while loading new chunk of data');
this.gridApi.hideOverlay();
},
error => this._serverErrorHandler(error)
);
}
这几乎是不言自明的。如果你有什么不清楚的地方,请告诉我
顺便说一句,我使用了typescript
作为示例,javascript
示例与的示例类似,有一个名为“onBodyScroll”的网格事件,您可以将事件处理程序附加到它。
这个事件有点秘密,因为在版本18之前的GridOptions类型中没有它,尽管它确实可以工作。
见此评论:
他们在文档tho中确实有这个事件:深入研究之后,我找到了这个问题的完美解决方案
请注意,我在这里使用AngularJS,但很容易理解。
onBodyScroll:function(params) {
var bottom_px = $scope.gridOptions.api.getVerticalPixelRange().bottom;
var grid_height = $scope.gridOptions.api.getDisplayedRowCount() * $scope.gridOptions.api.getSizesForCurrentTheme().rowHeight;
if(bottom_px == grid_height)
{
alert('Bottom')
}
},
正如我在问题中提到的,我不能使用getRows(无限滚动模式),因为客户机使用websocket与服务器对话,并且响应会在稍后出现,我正在查找当用户滚动到页面末尾时触发的事件grid@vikasmittal在你通过代码分享你所做的事情之前,很难想象和理解你的处境。查看如何创建