开发者

ZK grouped listbox performance

开发者 https://www.devze.com 2023-01-26 08:15 出处:网络
I\'m currently working on a ZK screen with a Listbox that contains groups.Since you can\'t (as far as I know) use DataBinder to set the model with a GroupsModel, I\'m manually creating one and calling

I'm currently working on a ZK screen with a Listbox that contains groups. Since you can't (as far as I know) use DataBinder to set the model with a GroupsModel, I'm manually creating one and calling setModel. To configure the Listgroups and Listitems I need to create a ListitemRenderer, which I've done.

The problem is that whenever you open or close a group on the screen, it communicates with the server to set the group as being open, and calls the ListitemRenderer again for every visible row. This results in a laggy interface for the user.

Is it possible to get ZK to cache the contents of the Listgroups and Listitems on the client such that opening/closing groups will not talk to 开发者_运维知识库the server and doesn't render every row again? With this system, the contents of the rows will not change until the user performs another search, or if they drag/drop items.

Edit: I ended up just building the Listgroups and Listitems myself and adding them with appendChild. No need for a model or renderer, so everything is done on the client meaning it's very snappy. It'd still be nice to know how it could be done with a model/renderer though.


I suggest you can use renderall() method.

e,g myListbox.getItemRenderer().renderAll()

IMO, if your model contains a lot of data, this action will maybe slower than default action.

0

精彩评论

暂无评论...
验证码 换一张
取 消