News in version
TreeGrid Gantt chart SpreadSheet Examples Documentation Download Development Licensing Prices References Contacts Buy Try it free
Live examples
Grids and tree grids

Complex grid - the first one Large table with paging Large table without paging Multiline & images - books Positions and spanning Photo album - images Dynamic Adobe Flash Dynamic MS SilverLight PivotTable - 2D grouping Schools - list and ratings File and directory browser Extended JavaScript API Sharing & synchronisation 1 000 000 rows, 1 000 cols


Microsoft Excel sheet TreeGrid sheet

Gantt and bar charts

Gantt & Network chart Simple Gantt chart Big Gantt chart - 1000 rows Gantt chart tree by grouping Resources usage chart Run chart - bar chart Grouping bars - run groups Line chart and XY charts

Live grid tutorials
Basic (rows and columns)

1. Basic grid 2. Rows 3. Columns 4. Default rows, columns 5. Rows manipulation 6. Rows identification

Cells (types, formats, edit)

1. Edits - inputs & multiline 2. Combos & checkboxes 3. Html, links, imgs, buttons 4. Space buttons & tabs 5. Permissions & validation 6. Cell CSS style & color 7. Conditional formatting 8. Custom controls & editing 9. Events & custom dialogs 10. Column & row spanning 11. Dynamic cell spanning

Tree (rows, columns, groups)

1. Row tree 2. Column tree 3. Grouping rows to tree

Sorting rows

1. Sorting rows

Filter and search

1. Filtering rows 2. Filtering in tree 3. Search & advanced filters


1. Dragging rows 2. Dragging between grids 3. Dragging external tag

Paging (rows, tree, columns)

1. Client root paging 2. Client child paging 3. Client column paging 4. All client paging 5. Adding pages dynamically 6. Server root paging 7. Server child paging 8. All server paging

Master and detail

1. Nested detail simple 2. Nested detail tables 3. Master detail simple 4. Master detail tables 5. Master detail more tables 6. Master detail in tree 7. Master detail trees

Calculations (cell formulas)

1. Calculated columns 2. Calculated rows 3. Calculation order 4. Calculated rows in tree 5. Calculation order in tree 6. Calculated attributes 7. Editable calculated cells

Live Sheet tutorials
Sheet features

1. Row and column Index 2. Auto size (auto adding pages) 3. Row&column manipulation 4. Cell manipulation 5. Cell style 6. Editable formulas (ids) 7. Editable formulas (indexes) 8. Cell format 9. Outside edit

Live Gantt tutorials
Main bar (Gantt chart)

1. Main bar 2. Discrete main bar 3. Main bar plans 4. Summary tasks

Run bar (Bar chart)

1. Run array definition 2. Run JSON definition 3. Run summary definition 4. Run drag 5. Run groups & API 6. Run bar as task 7. Run box as task 8. Network diagram 9. Run join and drag 11. 2 fixed levels containers

Flags and points

1. Flags 2. Points

Display, zoom, paging

1. Header & background 2. Zoom 3. Paging 4. Synchronizing more Gantts

Dependencies & scheduling

1. Constraints 2. Dependencies 3. Schedule tasks 4. Critical path


1. Calendars exclude


1. Resources 2. Availability

11. Dynamic column and row spanning

Let users to span and split cells by mouse dragging

    Select cell ranges by mouse dragging and right click to span the range. Press mouse middle button to split the cell under mouse. You can select and span cells directly by dragging by right mouse button. You can span and split selected cells also by clicking to toolbar buttons Split and Join.
    You can span rows also on different tree levels. When spanned parent row through its children, the children are always spanned all.
    You can test here deleting spanned rows, adding rows to spanned range, moving rows between, into and out the spanned ranges (by mouse dragging with Ctrl key held). Hiding, showing and moving columns with spanned cells. Also sorting, filtering and grouping the spanned rows. And finally editing in the spanned cells.

  • Set <Cfg


    ='1' to prepare TreeGrid for dynamic cell spanning. It shows the Split and Join buttons on Toolbar and saves changes in span to Undo if permitted.
  • Set <Cfg


    ='1' to permit selection of individual cells and cell ranges.
  • Set <Actions OnDragCell="SelectCells" to select cells by mouse dragging.
    If you want to still support dragging and moving rows, you can permit it for example with Ctrl key held, by <Actions OnCtrlDragCell="DragRow"/>.
  • Attach actions SpanSelected, SplitSelected and SplitCell to appropriate events like OnDropCell, OnClickCell, OnMouseDown, OnRightClick and so on to previde given behavior.
  • To clear selection after some action, add ClearSelection action, for example <Actions OnClickCell="ClearSelection,FocusEdit" OnClickOutside="ClearSelection,Blur"/> clears the selection after any focus change.
  • API

     You can dynamically span and split the cells by API methods SpanRange and SplitSpanned.
  • Upload span changes

    • By <bdo Upload_Type with Span keyword you can upload only spanned rows, with appropriate RowSpan and Span attributes, in special <Spanned> tag.
    • By <bdo Upload_Flags with Spanned keyword and Upload_Type with Changes keyword will upload the changes in span along with other changes in grid, in <Changes> tag.
  • IE8 strict mode has problems with rowSpan HTML attribute, so when using RowSpan switch IE8 to quirks mode (no !DOCTYPE) or to IE7 compatibility mode.