Charlie schrieb: > Hello, > > I have implemented a littlle "Quick Find" textbox linked to a > qx.ui.forms.List that matches the ListItem value and filter the list to > show only the matching items. Something like the search box of > Thunderbird, if you see. > To show or hide the items, I am using the "display" property of the > qxListItems. If the value matches the filter, setDisplay(true), else > setDisplay(false). My problem is that when my list is huge (about 1200 > items), each time I change a display on a ListItem, the > VerticalBoxLayout recompute every items positions, and it takes a lot of > time to update the whole rendering of the list. If I set the list > display to "false" before looping on the items, then do the loop that > update items display, then set the list back to "true", I can see it is > really quick, but the non-matching items still appear behind the > matching ones, so this is not a clean solution... > I am still new to qooxdoo, so my questions would be the following : > + Is there a way to "stop" the rendering of the list until my loop is > done, then trigger it ? (probably more general comprehension problem of > the rendering engine...) > + Am I using the wrong component for such a task? > + Am I totally wrong, should I for example empty the list then add only > the matching items back again?? > > Thanks for your help > Charles > Hi Charlie,
the list is not really suited to display a large amount of data because each list entry is a single widget. This gets really expensive in terms of memory and processor consumption for large data sets. You should take a look at the table, which dynamically renders the visible content and scales very good even for a very huge number of rows. There is even a special filtered table model: Demo: <http://demo.qooxdoo.org/current/demobrowser/#example~Table_4.html> API: <http://demo.qooxdoo.org/current/apiviewer/#qx.ui.table.model.Filtered> BTW, as Helder said, the current API viewer has such a dynamic filter in the search tab. We use the table there as well. Best Fabian -- Fabian Jakobs JavaScript Framework Developer 1&1 Internet AG Brauerstraße 48 76135 Karlsruhe Amtsgericht Montabaur HRB 6484 Vorstand: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich, Andreas Gauger, Thomas Gottschlich, Matthias Greve, Robert Hoffmann, Markus Huhn, Achim Weiss Aufsichtsratsvorsitzender: Michael Scheeren ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
