Mashup Builder > Widgets > Standard Widgets > Advanced Grids (Themable) > Working with Tree Grid Data > Performance Guidelines for the Tree Grid Widget
Performance Guidelines for the Tree Grid Widget
The tree grid widget is designed to support two use cases. Before building your own tree grid, consider which of the following scenarios your situation falls into:
Use Case 1: A grid with a fixed amount of data, including 5 or less tree levels and fewer than 1000 total rows of data
Use Case 2: A grid with a growing amount of data, including 5 to 25 tree levels and anywhere from 1000 to 100K total rows of data
Based on these aspects of the depth and size of your data, the use of specific grid features can affect the performance of your grid. In other words, the set of tree grid features that are practical to use differ depending on the depth and size of your data.
The table below shows how to use specific grid features in each use case scenario. As a mashup developer, determine in advance whether the number of rows in your grid remain fixed or grow over time. If the number of rows remain fixed, you can use any or all of the features listed as supported in the Use Case 1 column. Otherwise, always opt for Use Case 2 and limit your use of grid features accordingly.
Grid Feature
Use Case 1 – fixed # of rows
Use Case 2 – growing # of rows
Total Rows
< 1000
> 1000 and < 100K
Tree Levels
< = 5
> 5 and < 25
Preload Levels (maxLevels)
Supported
Supported for 1 or 2 levels
Dynamically Load Nodes
Supported
Must use a dynamic child data-loading service.
Server-side Sorting
Supported
Supported
Server-side Searching
Supports matched rows and parents
Supported for matched rows only, no parents
Server-side Data Filtering
Supported for matched rows and parents
Supported for matched rows only, no parents
Expand All Rows
Supported
Only for client-side preloaded levels
Preserver Row Expansion
Supported
Only for client-side preloaded levels
Default Selected Rows
Supported
Only for client-side preloaded levels
Expand Nodes
Supported (any level)
Only for client-side preloaded levels
Selected Rows
Supported (any level)
Only for client-side preloaded levels
Include Row Expansion Parents
Supported
Not Supported
Was this helpful?