Chapter 7: Miracle of Multiplication - Render data in abundance
ListView
ListView is the fastest path for rendering in-memory lists. Keep item rendering focused and side-effect free.
DataView
DataView with IDataProvider is suited for large datasets and backend paging.
DataTable
DefaultDataTable offers structured tabular rendering with columns, sort controls, and reusable presentation logic.
Paging
Use pageable repeaters and navigator components to keep response sizes predictable and user flows stable.
Choosing Strategy
- Small list:
ListView - Large dynamic data:
DataView - Grid-style UI with sorting/paging:
DataTable
Practical Pitfalls
-
ProblemInput values inside row components disappear after rerender.CauseItems are recreated each cycle and row identity/state is not reused.SolutionUse an item reuse strategy so the same model row keeps its UI state.
-
ProblemSorting and displayed order break after paging.CauseClient-side sorting and server-side paging are mixed in one flow.SolutionKeep both sorting and paging on the server side for consistency.
-
ProblemDefault DataTable layout cannot satisfy toolbar-level UX requirements.CausePrebuilt top toolbar configuration is too rigid for custom operations.SolutionBuild DataTable composition directly and attach only the toolbars you need.