angular - 在 ag-grid serverSide rowModelType 上实现过滤器
问题描述
我用服务器端 rowModelType 实现了 ag-grid。
在网格上方我有一个输入文本框,它将过滤网格。例如,如果用户在网格中键入“abc”,我应该在 url 中使用“searchString=abc”访问服务器。
我需要使用来自服务器的新数据重新绘制网格。在更改 rowModelType 之前,我在 api 中使用了“setData”方法,但在更改之后,网格 api 中不存在该方法。
谢谢
解决方案
如果您想重绘网格,您可以尝试几种不同的刷新机制gridApi
,具体取决于您选择的rowModel
.
这是我通常对服务器端 rowModel 执行的操作:
gridApi.purgeServerSideCache()
其他类型的完整性:
行模型:无限
gridApi.refreshInfiniteCache()
gridApi.purgeInfiniteCache()
行模型:客户端
gridApi.refreshClientSideRowModel()
更多细节可以在这里找到,虽然它们有点分散。
但是,您的问题可以用两种方式解释,我不确定您是否真的要重新绘制网格。
相反,当使用serverSide
rowModel 时,您应该onGridReady()
在代码库中的某个地方有一个回调,您可以在其中设置您的企业请求处理程序:gridApi.setServerSideDatasource({getRows: myGetRowsHandler})
。myGetRowsHandler
应该在每个过滤器更改、排序、分组或分页事件上调用您的自定义处理程序,并获取parameters
传递给它的对象。
当您的请求完成后,您需要parameters.successCallback()
在 TypeScript 中调用如下所示的:successCallback(rowsThisPage: any[], lastRow: number): void
推荐阅读
- parse-platform - Parse 的 afterSave 处理程序中的“返回”有什么意义
- python - “ValueError:输入 0 与层 gru1 不兼容:预期 ndim=3,发现 ndim=4”
- reactjs - SlateJS - 悬停工具栏示例问题 - 选择和工具栏随机消失
- c# - 注册用户时防止覆盖 SaveChagesAsync()
- python - 在python中裁剪图像上的字母的最佳方法
- css - 根据浏览器窗口大小更改 Django 模板循环行为
- php - 如果它等于 PHP 中的给定值,我如何更改文本的颜色
- c# - 如何从列表中的其他类对象获取属性值
- mysql - mysql 语法错误 1064 “NEW”在此服务器版本的此位置无效,需要标识符
- c - 在 C 中的线程之间切换