【发布时间】:2014-10-23 03:11:44
【问题描述】:
我必须在 listgrid 中显示大约 10,000 多条记录。我的代码工作正常,但我面临性能问题,它需要太多时间。 我想在 Listgrid 中应用分页,这样我可以提高我的 listgrid 性能。我找到了以下有关分页的方法文档,但我无法应用它。谁能解释一下我该如何使用这种方法??
protected void transformResponse(DSResponse response,
DSRequest request, Object data)
【问题讨论】:
-
在不知道如何填充列表网格的情况下很难回答。在
DSRequest中,方法“setStartRow()”和“setEndRow()”用于获取适当的记录。在DSResponse中,您可以找到相同的方法以及“setTotalRows()”来告诉列表网格您获取了结果的哪一部分。使用这些方法取决于您如何为 listgrid 获取数据。 -
@EricC.我在数据源中设置列表,然后在 Listgrid 中设置数据源。 datasource.setdata(list) 然后设置 listgrid.setdatasource(datasource) ;我已经制作了所有 10,000 条记录,然后我在 listgrid 中进行设置。我希望当我将一些记录设为 100 或 200 时,然后我将其显示在 listgrid 中,并在后台生成记录。
-
取决于您的服务器获取的构建方式,但您可能只需要使用
listgrid.setDataFetchMode(FetchMode.PAGED)和listgrid.setDataPageSize(100); -
@Dhruva,我建议通过此链接 (stackoverflow.com/questions/9468486/…) 浏览一次。还有这个:stackoverflow.com/questions/9799090/…
-
@EricC。我已经这样做了,它有助于在我们向下滚动列表网格时加载对象,但我需要的是分页,正如要求所告诉的那样。 dataSource.setResultBatchSize(50); grid.setDataFetchMode(FetchMode.PAGED); grid.setAutoFitData(Autofit.VERTICAL); grid.setShowAllRecords(false); grid.setDataPageSize(50); grid.setAutoFetchData(Boolean.TRUE);感谢您的建议