Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>After quite a bit of work trying, we determined that CellTable was not extensible enough to do what we needed. We ended up extending GWT's Grid class, taking design cues from CellTable to make it perform well enough for our needs. </p> <p>In our use case, 80% of page views will display less than 10 rows and we will never have more than 600 rows by 10 columns (&lt; 0.5% of cases have more than 500 rows). Instead of a full-fledged flyweight pattern, we used a lazy loading pattern. When the Grid is initially populated, display-only widgets are used to show the data from the underlying value objects. A FocusHandler is attached to each display-only widget. When a user clicks or tabs into a display widget, the FocusHander swaps out the display-only widgets for that row with the editable widgets.</p> <p>Display-only widgets are restricted to lightweight widgets such as TextBox and CheckBox, so rendering time is acceptable. 100 rows x 5 columns render in less than 2 seconds. SuggestBoxes, DateBoxes, and other Composites are limited to only being used as editable widgets.</p> <p>Advantages</p> <ol> <li>Flexibility to use any of the standard widgets</li> <li>Extensibility - we're not limited by the implementation choices made in CellTable</li> <li>Ease of development - prototyped in less than 3 days of development</li> <li>Performs well enough to fit our needs</li> <li>Tabs work out of the box as you would expect</li> </ol> <p>Disadvantages</p> <ul> <li>Not as scalable as CellTable. This implementation is not going to render thousands of rows</li> <li>We have to maintain it ourselves <img src="https://i.stack.imgur.com/jdwnZ.jpg" alt="Class Model"></li> </ul>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload