0

我正在使用igx-grid. 我在一次调用中检索所有数据,假设我在第 3 页,在过滤数据时它从整个数据中搜索数据,它会自动转到“第 1 页”,我需要一种方法来过滤当前页面中的数据和不要分页到第 1 页,它应该只在当前页面上。有没有办法做同样的事情?提前致谢!!!

编辑:我在服务器端分页中也面临同样的问题。

4

1 回答 1

1

对任何一列的数据进行过滤igx-grid并不是只对特定页面数据起作用的操作,而是对整个数据集起作用的操作。如果您只需要过滤当前页面中的数据,那么当前页面中的数据将小于页面大小,并且网格中的数据状态通常会不同步。

为了通过服务器端分页获取当前页面上的当前过滤数据,您可以filteringExpressions从网格中提取并在请求中将它们发送到您的后端服务进行分页。然后首先过滤数据并随后对其进行分页并仅返回页面大小。在伪代码中,这看起来像:

data.Where(d => d.something meets condition).Skip(page).Take(pageSize)

结果将是这样的: https://stackblitz.com/edit/github-w6x6a7?file=src/app/grid/grid-remote-paging-defaultTemplate-sample/remote-paging-default-template.component。 html

现在网格在执行客户端过滤时确实会重置页面,因为在过滤数据时,页面数量减少了,用户当前所在的页面可能不再存在。

igx-grid可以在此处找到 有关服务器端分页和过滤的示例: https ://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/remote-data-operations

于 2021-05-10T15:03:46.733 回答