SmartGWT 4.0 Live Grid 使用setData的BUG

本文介绍了一种使用SmartGWT4的LiveGrid实现大数据量展示时遇到的问题及解决方案。当使用默认的选择样式时,LiveGrid无法正确地进行动态渲染,通过设置选择框样式为复选框形式,可以有效解决这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


SmartGWT4的ShowCase上有个很好的例子,就是Live Grid。它可以在比较大数据量(例如上千条数据)的情况下保证一个非常好的Grid性能,像常规情况,一次下载上千条数据界面早就卡死动不了了。SmartGWT采用了一个很好的办法,让数据缓存在本地,然后再滚动时动态的渲染。

于是。。。除了日志数据太大几个功能以外,其他很多的查询数据的方法终于可以告别那该死的分页了。。。一次下载全部数据到本地,So Happy....

然而,鄙人参照官方的例子做了点小修改,却导致每次都是数据完全下来,一次渲染几百个数据。。。My God


我是这样使用的:

		ListGrid listGrid = new ListGrid();
		listGrid.setFields(fields);
		listGrid.setShowHeaderContextMenu(false);
		listGrid.setShowHeaderMenuButton(false);
		listGrid.setHeaderAutoFitEvent(null); //disable header double click to fit
		listGrid.setCanResizeFields(true);
		
		listGrid.setAutoFetchData(true);
		listGrid.setShowAllRecords(false);

		listGrid.setDataSource(dataSource);

然后把整个Record[]塞了进去

		articleInfListGrid.setData(recordList.toArray(new ListGridRecord[recordList.size()]));

最终结果是。。居然每次都是完全渲染了。找遍了Google,没有一个人遇到这样的情况(难道大家的Live Grid都不用SetData?)


无意间,在折腾其他功能突然又可以动态渲染了!于是欣喜若狂。一段段代码排查,最后发现是这段代码解决了这个BUG。

		listGrid.setSelectionAppearance(SelectionAppearance.CHECKBOX); //勾选选择
		listGrid.setSelectionType(SelectionStyle.SINGLE);
也就是说,SmartGWT 4的Live Grid在默认的SelectionStyle.SIMPLE情况下,会导致无法动态渲染!


这个必须得记下!不知道SmartGWT Group发现这个问题没有,希望能早点解决。暂且就先带上个checkBox使用Live Grid好了,无伤大雅


P.S. SmartGWT的Show case已经是4.1了,但是官方的还是4.0,期待4.1中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FoxMale007

文章非V全文可读,觉得好请打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值