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 Complex grid - RTL mode Large table with paging Large table without paging Multiline & images - books Positions and spanning Photo album - images PivotTable - 2D grouping Schools - list and ratings File and directory browser Extended JavaScript API Sharing & synchronization 1 000 000 rows, 1 000 cols


Microsoft Excel sheet TreeGrid sheet TreeGrid sheet - RTL mode

Gantt and bar charts

Gantt & Network chart Gantt & Network chart - RTL Simple Gantt chart Big Gantt chart - 1000 rows Gantt chart tree by grouping Resources usage chart Run chart - bar chart Grouping bars - run groups Joined boxes and containers 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 8. Nested detail nested deep 9. Nested detail server paging

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 10. Auto tree

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 10. Run external 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

3. Run summary definition

Grouping main bars to one row with Run boxes

Source: 03-Run_summary_group.xml Creates Run from plain grid with main bars by grouping. Uses Run Box as Gantt task.

Source: 03-Run_summary_data.xml Creates Run from child main bars. Uses whole Run Bar as Gantt task.

Source: 03-Run_summary_tree.xml Creates Run from data in (hidden) child rows. Shows tree of the Runs. Uses whole Run Bar as Gantt task.
  • See documentation for Editable Run bar as summary of child Main bars.
    See also documentation for Run bar and Main bar.
  • Normally the Run is defined by one long string with all boxes for one row. These examples shows alternate definition - creates Run from child rows, where every child row defines one Run box.
    Every change in Run boxes is done also in the child data and these changes can be uploaded to server.
    • The first Run Group example defines only the child main bars in plain grid and creates the parent Run rows by grouping.
    • The second Run Data example defines both the child main bars and parent Run bars in tree in the input data.
    • The third Run Tree example does not define the main bars, but calculates the Run just from data in child rows. It also shows tree of the runs - how to mix the child Run data with child Runs.
  • Set it up by
    • Create new column Type='Text' and Visible='0' and assign is to GanttRun attribute.
    • Set Formula='


      ' to the parent rows to the new column cells to calculate the Run from data in children.
    • Set


      ='X' to the parent rows Gantt cells to mirror the changes done in the Run to the child data. The X is the child main bar plan, "0" for the first one.
    • Optionally define other Run columns like GanttRunStart, GanttRunEnd, GanttRunDuration, GanttRunComplete and calculate them by formulas: ganttrunstart, ganttrunend, ganttrunduration, ganttpercent(). Define right CalcOrder for the rows to be first calculated the Run by ganttrunsum.
      These columns will be used for the parent rows with Run.
    • Optionally define new columns with data in child rows for individual boxes. They can define all the Run box attributes: Start,End,Width,Type,Text,Class,Tip,Id,Group,State,Top,Height,Manual,Complete,Resources,HtmlLeft,HtmlRight.
      Set their names to


      attribute of the Gantt cell in parent row to link them with the child data.
    • Optionally define GanttSummarySeparators attribute to use different separators in Run definition. If some of the data can contain the default separators (comma and semicolon).
    • Optionally define GanttSummaryCDef attribute to distinguish child rows used as data for parent Run and other child rows.
    • Optionally define the main bars to show them in child rows, by standard attributes GanttStart, GanttEnd, GanttDuration.