2011-09-23 210 views
1

我正在使用smartgwt api的Listgrid。我已经使用setShowFilterEditor()在列表网格上设置过滤器编辑器。在用户界面上,我可以使用列表顶部显示的过滤器编辑器过滤掉特定列中的文本。直到这一切,一切工作正常。但在此之后问题就开始了。我的ListGridRecords是ScreenInstanceGridRecord类型。smartgwt过滤器编辑器问题

我清空了使用方法clearCriteria得到ListGridRecord从ListGrid前过滤标准(),这样我可以保存所有记录到数据库即。未经过滤的记录。当我尝试使用getRecordList(),1000 从列表网格中获取记录时,第一次迭代就会添加虚拟记录,我所有填充的记录都将被忽略。我需要的是ScreenInstanceGridRecord类型的记录。但在第二次迭代时,我得到我填充的记录是ScreenInstanceGridRecord类型。为什么会出现这个问题。我应该在第一次迭代时获得ScreenInstanceGridRecord,当我尝试使用getRecordList()从ListGrid获取记录。我不知道这个奇怪的事情。任何帮助从你身边是最受欢迎的.. plss

回答

1

当你说你得到1000个虚拟记录而不是你的加载记录,实际上,你的记录根本没有加载。在这种情况下,由ListGrid创建的ResultSet(请参阅ListGrid.fetchData()的文档)将返回一个临时长度(默认为1000)并返回加载标记来代替Records(请参阅ResultSet.rowIsLoaded())。

数据加载完成后,使用DataArrived事件来采取行动。通常,请参阅ResultSet.lengthIsKnown()以了解如何确定数据尚未加载。

+0

谢谢@charles。你让我的问题解决了。干杯 – ankit