Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#11716 closed enhancement (fixed)

Tree Grid - Lazy loading for children level rows

Reported by: evan Owned by: bryanforbes
Priority: high Milestone: 1.6
Component: DojoX Grid Version: 1.5
Keywords: tree grid lazy loading Cc: drschwar@…, hwcdl@…, wangqsh@…,
Blocked By: Blocking:

Description (last modified by bill)

Currently TreeGrid only supports lazy loading for root level rows, so it becomes slow when we have large number of children rows(since they will all be rendered at one time).

The enhancement applies the virtual scrolling model to all children level rows so even we have large number of children rows, it's working pretty well.

Attachments (1)

treegrid-#11716-09102010.patch (44.8 KB) - added by bill 9 years ago.
patch from Evan

Download all attachments as: .zip

Change History (9)

Changed 9 years ago by bill

patch from Evan

comment:1 Changed 9 years ago by bill

Description: modified (diff)

Uploaded patch from Evan, he says:

Please try dojox/grid/test_treegrid_children_lazyloading.html for a quick try.

Also this patch works pretty well with server-side store(with flatten items and some simple protocol - doc to be added)

TODO items:

  1. Add full support for client-side stores that follows standard dojo.data api
  2. Add doc to campus doc page

comment:2 Changed 9 years ago by evan

An updated patch version is in progress trying to simplify the specific protocol to be more compatible with existing Tree,TreeGrid? - so ideally, the same store would be working with existing Tree, TreeGrid? and the new lazy loading TreeGrid?

The UI still look the same as "treegrid-#11716-09102010.patch"

comment:3 Changed 9 years ago by Douglas Hays

Resolution: fixed
Status: newclosed

(In [23078]) Fixes #11716. Proxy commit for evan (CCLA). Adds lazy loading TreeGrid? support of nonroot rows, and the corresponding testcase.

comment:4 Changed 9 years ago by evan

The above "lazy-treegrid.patch" fixed following issues:

  1. A conflict occurs when multiple respond from server side and may cause LazyTreeGrid? would be rendered improperly
  1. Unable to expand a row manually using keyboard
  1. LazyTreeGrid? content became blank after refreshed/column reordered/column size changed/page size changed
  1. LazyTreeGrid? won't be rendered correctly after add/delete item(s)
  1. Sorting property should be sent to server side when fetching children items

comment:5 Changed 9 years ago by evan

Note: The "lazy-treegrid.patch" is re-appended to a new ticket #12063

comment:6 Changed 9 years ago by Douglas Hays

(In [23301]) Fixes #12063, refs #11716. Proxy commit for evan (IBM, CCLA). Various LazyTreeGrid? bug fixes.

comment:7 Changed 9 years ago by evan

(In [23706]) Refs #11716, coding style fix, use mixin() for func overwriting,

comment:8 Changed 9 years ago by evan

(In [25463]) Refs #11716 by safely remove expando class for row without any children

Note: See TracTickets for help on using tickets.