<Grid>
   <Cfg id="GanttBig" SuppressCfg="1"/> <!-- Base settings, this example does not save configuration to cookies -->
   <Cfg NumberId="1" IdChars="0123456789"/> <!-- Controls generation of new row ids -->
   <Cfg EmptyDate="" EmptyNumber=""/> <!-- Takes empty dates as strings instead of 0 and ignores them in calculations -->
   <Cfg NoFormatEscape="1"/> <!-- You can use HTML code in formatting, set here because ValueSeparator and RangeSeparator contain HTML code -->
   <Cfg SortCols="N1,N2"/> <!-- Default sort is by Task and Section -->
   <Cfg GroupCols="N1"/> <!-- The grid is grouped by Task by default -->
   <Cfg GroupFlags="3"/> <!-- Refreshes toolbar and shows/hides icons Expand All/Collapse All when the grouping is set or not and restores original sorting -->
   <Cfg Undo="1"/> <!-- Permits undo / redo changes by Ctrl+Z / Ctrl + Y -->
   <Cfg FilterEmpty="1"/> <!-- Does not show groups with all tasks hidden -->
   <Cfg Paging="2" PageLength="1"/> <!-- Sets paging and presets small page length for tree -->
   <Styles Style="Light"/>
   <Def>
      <D Name="R" CDef=""/> <!-- The standard rows cannot have children -->
      <D Name="Group" Calculated="1" CalcOrder="S,E,C,F,G"/> <!-- Grouping row is calculated to show summary for its children -->
      <D Name="Group" Expanded="1" /> <!-- Grouping row shows its children by default -->
      <D Name="Group" EditCols="Main"/> <!-- When user changes value in main column (N1 - Task), the value is copied also to the children -->
      <D Name="Group" SFormula="minimum(min('S'),min('E'))"/> <!-- Gets the first start date from its children, including milestones -->
      <D Name="Group" EFormula="maximum(max('S'),max('E'))"/> <!-- Gets the last end date from its children, including milestones -->
      <D Name="Group" CFormula="ganttpercent('S','E','d')"/> <!-- Calculates average task completion from its children -->
      <D Name="Group" FFormula="sumrange()" FCanEdit="0"/> <!-- Merges all date ranges from its children -->
      <D Name="Group" GColor="240,240,240"/> <!-- Changes background color, the formula for Gantt is set dynamically in script -->
      <D Name="Group" CDef="R"/> <!-- Grouping rows can contain standard rows as children -->
      <D Name="Group" DButton="" RButton=""/> <!-- No dependencies and resources can be changed in group row -->
      <D Name="Group" GGanttClass="GanttG" GGanttOptions="2"/> <!-- Gantt setting specific for Group rows, changes colors and restrict changes by a user -->
      <D Name="Group" GroupMain="N1"/> <!-- Tree will be shown in Task column -->
      <D Name="Group" CMaxChars="100"/> <!-- Ensures setting returned value when grouped by Complete column -->
      <D Name="Group" ParentCDef="Group"/> <!-- When grouped by any column, new rows added to root will be these groups -->
      <D Name="Group" CanFilter="2"/> <!-- Hides the group when all its tasks are hidden by filter -->
      <D Name="GroupTask" GroupCols="|N1|C,N1" GroupCol="N1" Group="1" Def="Group" GroupMain="N2"/> <!-- When grouping by Task, shows tree in Section column -->
      <D Name="GroupTask" ParentCDef="GroupTask"/> <!-- When grouped by task, new rows added to root will be of these groups -->
   </Def>
   <LeftCols>
      <C Name="id" Type="Int" CanSort="1"/> <!-- id / row number column -->
      <C Name="N1" Width="80" GroupWidth="110"  Type="Text" CanSort="1"/> <!-- Task column -->
      <C Name="N2" Width="80" GroupWidth="110" Type="Text"/> <!-- Subtask column -->
      <C Name="S" Width="60" Type="Date" Format="MMM dd"/> <!-- Start date column -->
      <C Name="E" Width="60" Type="Date" Format="MMM dd"/> <!-- End date column -->
      <C Name="C" Width="60" Type="Int" Format="##\%;;0\%"/> <!-- Complete column -->
   </LeftCols>
   <Cols>
      <C Name="F" Visible="1" Width="120" Type="Date" Format="MMM dd" Range="1"/> <!-- Real flow column -->
      <C Name="R" Visible="0" Width="110" Type="Text" Range="1" CanEdit="0" Button="Defaults" Defaults="|Management|Development|Support|Sales"/> <!-- Resources column -->
      <C Name="D" Visible="0" Width="100" Type="Text" CanEdit="0" Button="Defaults" Defaults="|*RowsColid*VariableDef" Range="1"/><!-- Dependencies, ids of next tasks -->
      <C Name="T" Visible="0" Width="50" Type="Text" Range="1"/> <!-- Dependency types column (ss,sf,fs,ff) -->
      <C Name="M" Visible="0" Width="75" Type="Date" Format="MMM dd" Range="1"/> <!-- Flag column -->
      <C Name="I" Visible="0" Width="60" Type="Text" Range="1"/> <!-- Flag info column -->
      
      <!-- Gantt chart column -->
      <C Name="G" CanSort="0" Type="Gantt" CanEdit="0" CanResize="0" MenuName="Gantt chart"
         GanttStart="S" GanttEnd="E" GanttComplete="C" GanttResources="R"
         GanttFlow="F" GanttFlags="M" GanttFlagTexts="I"
         GanttDependencies="D" GanttDependencyTypes="T"
         GanttUnits="d" GanttChartRound="w" GanttLeft="1" GanttRight="1" GanttOptions="249"
         GanttMark="5/28/2008 12:00" GanttBackground="1/5/2008~1/7/2008;1/1/2008~1/1/2008 1:00" GanttBackgroundRepeat="w,M"
         GanttMin="6/1/2007" GanttMax="1/1/2009"
         GanttHeader1="M" GanttFormat1="MMMM yyyy"      
         GanttHeader2="d" GanttFormat2="%d"
         GanttHeader3="w" GanttFormat3="Week ddddddd"
         GanttHeader4="d" GanttFormat4="ddddd"
         /> 
   </Cols>
   <Header id="ID" N1="Task" N2="Subtask" S="Start" E="End" C="Complete" F="Real flow" D="Dependencies" T="Depend.&lt;br>Types" M="Flags" I="Flag Info" R="Resources" G="Gantt"/> <!-- Column captions -->
   <Solid>
      <Group Cells="List,Sep1,Zoom,Sep2,Resources" id="Group" Space="0" 
         Panel="1" 
         ListHtmlPrefix='&lt;b>Group by &lt;span style="color:blue;">' ListHtmlPostfix='&lt;/span>&lt;/b>'
         List='|none|Task'
         Cols='||N1'
         ListWidth='170'
			
         Sep1Width='10' Sep1CanEdit='0'
			
         ZoomType='Select'
         ZoomHtmlPrefix='&lt;b>Zoom to &lt;span style="color:blue;">' ZoomHtmlPostfix='&lt;/span>&lt;/b>'
         ZoomDefaults='|years and halves|years and quarters|halves and months|quarters and months|months and weeks|months and days|weeks and days|days and quarters|days and hours|hours and quarters|*-|custom weeks|custom days'
         Zoom='custom weeks'
         ZoomWidth='190'
         ZoomAction='DoZoom(choose(null,null,"0,1,2,3,4,5,6,7,8,9,10,11,12,13"))'
			
         Sep2Width='10' Sep2CanEdit='0'

         ResourcesType='Text'
         ResourcesCanEdit='0' 
         ResourcesHtmlPrefix='&lt;b>Show &lt;span style="color:blue;">' ResourcesHtmlPostfix='&lt;/span>&lt;/b>'
         ResourcesButton='Defaults' 
         ResourcesDefaults='|*All|*-|Management|Development|Support|Sales'
         Resources='Management;Development;Support;Sales'
         ResourcesWidth='200'
         ResourcesAction='Grids[0].ShowMessage("Filtering rows ..."); setTimeout(function(){ Grids[0].FilterTextRange("R",Value); Grids[0].RefreshGanttDependencies(1); },10);' 
         ResourcesRange='1' 
             
         Sep3Width='10' Sep3CanEdit='0'
         LinkType='Link' LinkCanEdit='0' LinkRelWidth='1'
         Link='|GanttSimple.html|Show simple Gantt chart|_self'
         /><!-- Defines the control row with combos to choose grouping and zoom -->
   </Solid>
   <Lang>
      <Format
         ValueSeparatorHtml="&lt;b style='color:red;'>; &lt;/b>"
         RangeSeparatorHtml="&lt;b style='color:red;'> ~ &lt;/b>"
         /> <!-- Colors the separators to be better visible, there must be also set Cfg NoFormatEscape for it -->
   </Lang>
   <Toolbar Styles="1"/> <!-- Show buttons on toolbar to choose TreeGrid style -->
</Grid>