PDA

View Full Version : Grid panel with combobox column and bufferedrenderer



Jplusm
21 Jan 2016, 12:04 PM
Hi,

I have a grid panel where one of the columns is a combobox for each record. The performance wasn't very good with any sizable amount of records due to having to render all those comboboxes. I found and added the bufferedrenderer plugin to the grid panel and it improved the performance dramatically.

Awesome....however, there is functionality in the grid to allow a user to select a row and remove it. The problem lies with if the user scrolls down far enough, removes a row, and then scrolls back up, the combobox doesn't get rendered for any of the trailing records that are outside of the buffer. The two other columns (1 text, 1 checkbox) show up fine for each of those records, it is just the combobox that doesn't show.

Everything works fine when you initially load the grid and scroll down, the comboboxes take a split second to render but do show up.

Any ideas to force the combobox to render?

Thanks

Gary Schlosberg
21 Jan 2016, 3:46 PM
So you're talking about the comboboxes in rows above the record you deleted? Were they rendered initially (already) or are they fresh records? With which specific version of Ext JS are you seeing this?

Jplusm
21 Jan 2016, 3:52 PM
So you're talking about the comboboxes in rows above the record you deleted? Were they rendered initially (already) or are they fresh records? With which specific version of Ext JS are you seeing this?

Hi Gary, yes i'm talking about comboboxes in records above the record i delete (they are out of view outside of the trailing buffer). Yes they were rendered initially. Using 4.2.4.

I had another problem that I worked around: If I didn't do any scrolling, just load the grid, records with comboboxes render fine, remove a record, the comboboxes would also dissapear (visible records currently in view). To get around this I suspend events on my grid's store and they would stay rendered after removing the record. Unfortunately this doesn't work for the above problem.