-
1. Re: extendedDataTable performance
ilya_shaikovsky May 5, 2010 5:08 AM (in response to jonmoores)encoding 600 rows to the client side (extendedTable encodes all if rows not defined) will not works fast any way.. so general suggestions:
for extendedDataTable:
- you could add pagination with datascroller and define model properly as shown at demosite to iterate only over actual page data.
- avoid to use rich inputs in columns where possible. it will results in massive JS objects initialization. Use shared instances instead.
- turn off the menu if not really need. Also will improve performance espesially if you have many columns,
if you have to use just scroll but not paggination with datascroller - I could advise to try scrollableDataTable instead - it not just encodes rows to client but provides ajax lazy loading using scrolling.
-
2. Re: extendedDataTable performance
jonmoores May 5, 2010 5:25 AM (in response to ilya_shaikovsky)Hi,
1) is something I can discuss with end user I guess.
2) I am using 2 a4j:commandLinks per row to show Edit / Delete modal dialogues both with 2 f:setPropertyActionListener (one for rowIndex and one for current item). How would I replace those with shared objects?
3) An important part of the use case is filtering and grouping of data. (also takes away the scrollabletable option I think)
Ta
Jon
-
3. Re: extendedDataTable performance
ilya_shaikovsky May 5, 2010 5:46 AM (in response to jonmoores)Yup.. seems scrollable is not an option for you. So then add paggination if this suitable in your case - this will save a lot of rendering time. And
2) I am using 2 a4j:commandLinks per row to show Edit / Delete modal dialogues both with 2 f:setPropertyActionListener (one for rowIndex and one for current item). How would I replace those with shared objects?
this is fine in general if you for example using single modal panel outside the dataTable which is used for editing and not placing it to column for example . If you using conditional rendering of output/inputs inside column and switching between them after clicking edit - read those articles on such use case optimization:
http://www.jsfcentral.com/articles/speed_up_your_jsf_app_1.html
http://www.jsfcentral.com/articles/speed_up_your_jsf_app_2.html