feanor73
3 May 2007, 4:59 AM
Grid performance is a concern in our application. One of the recommended solutions to improving grid performance is to reduce the number of rows and columns that display in the grid to a reasonable number (say 8 columns and 30 rows). However, in some situations this may not be desirable.
To solve the too many row problem, we simply use a Pagination. All is well.
However, there is no (built-in) solution to the too many columns problem. In other applications, I have resorted to using "remote column addition/removal" to solve this problem. By this I mean that the Column Selector widget would contain ALL the column available to loading in the grid, but only the data for the displayed columns would be loaded into the store. Adding (and possibly removing) a column to the grid would force a full reload of the store and refresh of the grid data. But, I think the initial load time of the grid would be much faster for grids with potentially large numbers of columns offsetting the negative impact of store refresh when a column is added. This "remote column addition" feature would need to support encoding the columns ids to send to the server in the http request for the data store load.
To solve the too many row problem, we simply use a Pagination. All is well.
However, there is no (built-in) solution to the too many columns problem. In other applications, I have resorted to using "remote column addition/removal" to solve this problem. By this I mean that the Column Selector widget would contain ALL the column available to loading in the grid, but only the data for the displayed columns would be loaded into the store. Adding (and possibly removing) a column to the grid would force a full reload of the store and refresh of the grid data. But, I think the initial load time of the grid would be much faster for grids with potentially large numbers of columns offsetting the negative impact of store refresh when a column is added. This "remote column addition" feature would need to support encoding the columns ids to send to the server in the http request for the data store load.