50
How do I get the start/end of the bar once the BarResize/BarResizing event occurs

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		h = .HostEventParam(0)
		key = .HostEventParam(1)
		alert( .HostEventParam(-2) )
		alert( "Start:" )
		alert( .Host.Items.ItemBar(h,key,1) )
		alert( .HostEventParam(-2) )
		alert( "End:" )
		alert( .Host.Items.ItemBar(h,key,2) )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host.Chart
			.PaneWidth(False) = 128
			.FirstVisibleDate = #3/30/2019#
		End With
		With .Host.Items
			.AddBar .AddItem("Task"),"Task",#4/1/2019#,#4/14/2019#
		End With
	End With
End Function
</SCRIPT>
</BODY>

49
How do I get the bar/task from the cursor
<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( "Event:" )
		alert( .HostEventParam(-2) )
		With .Host
			i = .ItemFromPoint(-1,-1,c,h)
			alert( "Cell:" )
			alert( .Items.CellCaption(i,c) )
			With .Chart
				b = .BarFromPoint(-1,1)
				alert( "Bar:" )
				alert( G2Host1.Host.Items.ItemBar(i,b,0) )
			End With
		End With
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()

End Function
</SCRIPT>
</BODY>

48
How do I get the cell from the cursor

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( "Event:" )
		alert( .HostEventParam(-2) )
		With .Host
			i = .ItemFromPoint(-1,-1,c,h)
			alert( "Cell:" )
			alert( .Items.CellCaption(i,c) )
		End With
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()

End Function
</SCRIPT>
</BODY>

47
How can I highlights cells based on its value

<BODY onload="Init()">
<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		With .Host
			.BeginUpdate 
			.BackColorAlternate = RGB(0,0,0)
			With .Columns.Item("Title")
				.Def(4) = 15790320
				.Width = .AutoWidth
			End With
			With .ConditionalFormats
				.Add("lower(%4) contains `manager`").Bold = True
				.Add("%3").BackColor = RGB(240,240,240)
			End With
			.Items.ExpandItem(0) = True
			With .Columns.Item("EmployeeID")
				.Width = .AutoWidth
			End With
			.EndUpdate 
		End With
	End With
End Function
</SCRIPT>
</BODY>

46
How do I programatically hide a column

<BODY onload="Init()">
<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Columns.Item("LastName").Visible = False
	End With
End Function
</SCRIPT>
</BODY>

45
Is it possible to get the information from the control when we click on the bar/item

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( .HostEventParam(-2) )
		With .Host
			i = .ItemFromPoint(-1,-1,c,hit)
			alert( "cell's value from cursor: " )
			alert( .Items.CellValue(i,c) )
			alert( "cell's value on col 1: " )
			alert( .Items.CellValue(i,1) )
			b = .Chart.BarFromPoint(-1,-1)
			alert( "Bar:" )
			alert( b )
			alert( "Bar Start:" )
			alert( .Items.ItemBar(i,b,1) )
			alert( "Bar End:" )
			alert( .Items.ItemBar(i,b,2) )
			alert( "Bar Caption:" )
			alert( .Items.ItemBar(i,b,3) )
		End With
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host
			.Debug = True
			With .Chart.Bars.Item("Task")
				.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
				.OverlaidGroup = "Task,Progress"
			End With
		End With
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Items.ExpandItem(0) = True
		With .Host.Chart
			.PaneWidth(False) = 128
			.ScrollTo #5/27/2017#,1
		End With
	End With
End Function
</SCRIPT>
</BODY>

44
How do I get the bar from the cursor

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( .HostEventParam(-2) )
		alert( .Host.Chart.BarFromPoint(-1,-1) )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host
			.VisualAppearance.Add 1,"C:\Program Files\Exontrol\ExG2Host\Sample\EBN\Assorted\wbs-ass.ebn"
			With .Chart.Bars.Item("Task")
				.Height = 15
				.Color = &H1ff0000
				.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
				.OverlaidGroup = "Task,Progress"
			End With
		End With
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Items.ExpandItem(0) = True
		With .Host.Chart
			.PaneWidth(False) = 128
			.ScrollTo #5/27/2017#,1
		End With
	End With
End Function
</SCRIPT>
</BODY>

43
How do I add Start/End columns

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( .HostEventParam(-2) )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.HostReadOnly = 255 ' HostReadOnlyEnum.exHostReadWrite Or HostReadOnlyEnum.exHostAllowAddEmptyItem
		With .Host
			.SingleSel = False
			.OnResizeControl = 1
			.ScrollBars = 2058 ' ScrollBarsEnum.exVScrollEmptySpace Or ScrollBarsEnum.exDisableNoVertical
			With .Columns.Add("Start")
				.AllowSizing = False
				.Def(18) = 1
				.Editor.EditType = 7
			End With
			With .Columns.Add("End")
				.AllowSizing = False
				.Def(18) = 2
				.Editor.EditType = 7
			End With
			.Items.AllowCellValueToItemBar = True
			With .Chart
				.AllowCreateBar = 1
				.PaneWidth(False) = 256
				.Bars.Item("Task").OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			End With
		End With
	End With
End Function
</SCRIPT>
</BODY>

42
How do I hide the left/items/columns part of the control

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host.Chart.Bars.Item("Task")
			.Pattern = 1
			.Color = RGB(0,0,255)
			.Def(19) = 50
		End With
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Items.ExpandItem(0) = True
		.HostReadOnly = 255 ' HostReadOnlyEnum.exHostReadWrite Or HostReadOnlyEnum.exHostAllowAddEmptyItem
		With .Host
			.OnResizeControl = 129 ' OnResizeControlEnum.exDisableSplitter Or OnResizeControlEnum.exResizeChart
			With .Chart
				.ColumnsFormatLevel = "1"
				.PaneWidth(False) = 0
				.ScrollTo #5/27/2017#,1
			End With
		End With
	End With
End Function
</SCRIPT>
</BODY>

41
How do I hide the right/chart/tasks part of the control

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host.Chart.Bars.Item("Task")
			.Pattern = 1
			.Color = RGB(0,0,255)
			.Def(19) = 50
		End With
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Items.ExpandItem(0) = True
		With .Host
			With .Chart
				.PaneWidth(True) = 0
				.OverviewVisible = 0
			End With
		End With
	End With
End Function
</SCRIPT>
</BODY>

40
How do hide the top/overview part of the control

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataField(7) = .DataField(0)
		.DataField(9) = "BirthDate"
		.DataField(10) = "HireDate"
		With .Host
			With .Chart
				.OverviewVisible = 0
				.PaneWidth(False) = 256
				.ScrollTo #4/27/1969#,1
			End With
		End With
	End With
End Function
</SCRIPT>
</BODY>

39
How do I resize the panels

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host
			.VisualAppearance.Add 1,"C:\Program Files\Exontrol\ExG2Host\Sample\EBN\Assorted\wbs-ass.ebn"
			With .Chart.Bars.Item("Task")
				.Height = 15
				.Color = &H1ff0000
				.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
				.OverlaidGroup = "Task,Progress"
			End With
		End With
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Items.ExpandItem(0) = True
		With .Host.Chart
			.PaneWidth(False) = 128
			.ScrollTo #5/27/2017#,1
		End With
	End With
End Function
</SCRIPT>
</BODY>

38
How do I lock the first column

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		With .Host
			.CountLockedColumns = 1
			.BackColorLock = .BackColorAlternate
		End With
	End With
End Function
</SCRIPT>
</BODY>

37
How do I specify a different color for the tasks ( EBN color )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host
			.VisualAppearance.Add 1,"C:\Program Files\Exontrol\ExG2Host\Sample\EBN\Assorted\wbs-ass.ebn"
			With .Chart.Bars.Item("Task")
				.Height = 15
				.Color = &H1ff0000
				.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
				.OverlaidGroup = "Task,Progress"
			End With
		End With
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.PaneWidth(False) = 256
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

36
How do I specify a different color for the tasks ( solid color, transparent )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host.Chart.Bars.Item("Task")
			.Pattern = 1
			.Color = RGB(0,0,255)
			.Def(19) = 50
		End With
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataField(12) = "Color"
		.DataField(13) = "TaskName"
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.PaneWidth(False) = 256
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

35
GroupBy

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host
			.AllowGroupBy = True
			.SortBarVisible = True
			.BackColorSortBar = G2Host1.Host.BackColor
			.BackColorSortBarCaption = .BackColorSortBar
			.SortBarCaption = "<sha ;;0><fgcolor=FF0000>Drag a <b>column</b> header here to sort by that column."
			With .Chart.Bars.Item("Task")
				.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
				.OverlaidGroup = "Task,Progress"
			End With
			.Items.ExpandItem(0) = True
			.CountLockedColumns = 1
			.BackColorLock = .BackColorAlternate
			With .Columns.Item("EmployeeID")
				.AllowGroupBy = False
				.Def(7) = G2Host1.Host.BackColorAlternate
			End With
			.Columns.Item("Title").SortOrder = 1
		End With
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

34
How can I hide a column
<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.Host.Columns.Item(0).Visible = False
	End With
End Function
</SCRIPT>
</BODY>

33
Can row errors being highligted until the user correct them, not to clear them as soon a change occurs

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.HostDef(7) = False
	End With
End Function
</SCRIPT>
</BODY>

32
No error is highligthed

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
	End With
End Function
</SCRIPT>
</BODY>

31
I've noticed that rows with errors are shown in red. Is it possible to change the colors

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.HostDef(6) = 0
		.HostDef(5) = 16777215
	End With
End Function
</SCRIPT>
</BODY>

30
Is it possible to rename the (New) to something else

<BODY onload="Init()">
<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.HostDef(1) = "*"
		With .Host
			.BeginUpdate 
			.Items.AddItem "A"
			.Items.AddItem "B"
			.EndUpdate 
		End With
		.Refresh 
	End With
End Function
</SCRIPT>
</BODY>

29
How can I hide the (New) item (sample 2)

<BODY onload="Init()">
<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.HostReadOnly = 240 ' HostReadOnlyEnum.exHostAllowUpdate Or HostReadOnlyEnum.exHostAllowDelete
		With .Host
			.BeginUpdate 
			.Items.AddItem "A"
			.Items.AddItem "B"
			.EndUpdate 
		End With
	End With
End Function
</SCRIPT>
</BODY>

28
How can I hide the (New) item (sample 1)

<BODY onload="Init()">
<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.HostDef(1) = ""
		With .Host
			.BeginUpdate 
			.Items.AddItem "A"
			.Items.AddItem "B"
			.EndUpdate 
		End With
		.Refresh 
	End With
End Function
</SCRIPT>
</BODY>

27
Read-Only

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.HostReadOnly = 0
	End With
End Function
</SCRIPT>
</BODY>

26
How can I prevent user create new /delete tasks ( only move or resize then )
<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host.Chart.Bars.Item("Task")
			.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Host.Items.ExpandItem(0) = True
		.HostReadOnly = 128
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

25
How do I get the row/item/task/link from the cursor

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( .HostContext.ToString )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.HostReadOnly = 141 ' HostReadOnlyEnum.exHostAllowUpdate Or HostReadOnlyEnum.exHostAllowAddNew
	End With
End Function
</SCRIPT>
</BODY>

24
Disable Delete
<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.HostReadOnly = 141 ' HostReadOnlyEnum.exHostAllowUpdate Or HostReadOnlyEnum.exHostAllowAddNew
	End With
End Function
</SCRIPT>
</BODY>

23
Disable AddNew

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.HostReadOnly = 240 ' HostReadOnlyEnum.exHostAllowUpdate Or HostReadOnlyEnum.exHostAllowDelete
	End With
End Function
</SCRIPT>
</BODY>

22
ACCDB sample ( file )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host.Chart.Bars.Item("Task")
			.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

21
MDB sample ( file )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.mdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host.Chart.Bars.Item("Task")
			.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

20
DBF sample ( file )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.dbf"
		.DataField(0) = "Items"
	End With
End Function
</SCRIPT>
</BODY>

19
DAO sample ( object, DAO.DBEngine.120, multiple tasks, multiple tables )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With CreateObject("DAO.DBEngine.120")
			With .OpenDatabase("C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb")
				Set rsEmployees = .OpenRecordset("Employees")
				Set rsTasks = .OpenRecordset("EmployeeDetails")
				Set rsLinks = .OpenRecordset("EmployeeLinks")
			End With
		End With
		.DataSource("Items") = rsEmployees
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataSource("Tasks") = rsTasks
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataSource("Links") = rsLinks
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host.Chart.Bars.Item("Task")
			.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

18
DAO sample ( file, multiple tasks, multiple tables )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "DAO.DBEngine.120;DAO.DBEngine.36"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataTechnology("Tasks") = "DAO.DBEngine.120;DAO.DBEngine.36"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataTechnology("Links") = "DAO.DBEngine.120;DAO.DBEngine.36"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host.Chart.Bars.Item("Task")
			.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

17
DAO sample ( object, DAO.DBEngine.120, single task, single table )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With CreateObject("DAO.DBEngine.120")
			With .OpenDatabase("C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb")
				Set rsEmployees = .OpenRecordset("Employees")
				Set rsLinks = .OpenRecordset("EmployeeLinks")
			End With
		End With
		.DataSource("Items") = rsEmployees
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataField(7) = .DataField(0)
		.DataField(9) = "BirthDate"
		.DataField(10) = "HireDate"
		.DataSource("Links") = rsLinks
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
	End With
End Function
</SCRIPT>
</BODY>

16
DAO sample ( file, single task, single table )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "DAO.DBEngine.120;DAO.DBEngine.36"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataField(7) = .DataField(0)
		.DataField(9) = "BirthDate"
		.DataField(10) = "HireDate"
		.DataTechnology("Links") = "DAO.DBEngine.120;DAO.DBEngine.36"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
	End With
End Function
</SCRIPT>
</BODY>

15
DAO sample ( tree recordset )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "DAO.DBEngine.120;DAO.DBEngine.36"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
	End With
End Function
</SCRIPT>
</BODY>

14
DAO sample ( flat recordset )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With CreateObject("DAO.DBEngine.120")
			With .OpenDatabase("C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb")
				Set rsEmployees = .OpenRecordset("Employees")
			End With
		End With
		.DataSource("Items") = rsEmployees
		.DataField(0) = "Items"
	End With
End Function
</SCRIPT>
</BODY>

13
DAO sample ( flat )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "DAO.DBEngine.120;DAO.DBEngine.36"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
	End With
End Function
</SCRIPT>
</BODY>

12
ADO sample ( object, ADODB.Recordset, multiple tasks )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		Set rsEmployees = CreateObject("ADODB.Recordset")
		rsEmployees.Open "Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb",3,3
		.DataSource("Items") = rsEmployees
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		Set rsTasks = CreateObject("ADODB.Recordset")
		rsTasks.Open "EmployeeDetails","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb",3,3
		.DataSource("Tasks") = rstasks
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		Set rsLinks = CreateObject("ADODB.Recordset")
		rsLinks.Open "EmployeeLinks","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb",3,3
		.DataSource("Links") = rsLinks
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host.Chart.Bars.Item("Task")
			.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

11
ADO sample ( file, multiple tasks, multiple tables )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "ADODB.Recordset;ADOR.Recordset"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataTechnology("Tasks") = "ADODB.Recordset;ADOR.Recordset"
		.DataSource("Tasks") = .DataSource("Items")
		.DataMember("Tasks") = "EmployeeDetails"
		.DataField(7) = "Tasks"
		.DataField(8) = "EmployeeID"
		.DataField(9) = "DateStart"
		.DataField(10) = "DateEnd"
		.DataField(14) = "TaskID"
		.DataTechnology("Links") = "ADODB.Recordset;ADOR.Recordset"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
		With .Host.Chart.Bars.Item("Task")
			.OverlaidType = 515 ' OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Host.Items.ExpandItem(0) = True
		.Host.Chart.ScrollTo #5/27/2017#,1
	End With
End Function
</SCRIPT>
</BODY>

10
ADO sample ( object, ADODB.Recordset, single task, single table )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		Set rsEmployees = CreateObject("ADODB.Recordset")
		rsEmployees.Open "Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb",3,3
		.DataSource("Items") = rsEmployees
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataField(7) = .DataField(0)
		.DataField(9) = "BirthDate"
		.DataField(10) = "HireDate"
		Set rsLinks = CreateObject("ADODB.Recordset")
		rsLinks.Open "EmployeeLinks","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb",3,3
		.DataSource("Links") = rsLinks
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
	End With
End Function
</SCRIPT>
</BODY>

9
ADO sample ( file, single task, single table )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "ADODB.Recordset;ADOR.Recordset"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
		.DataField(7) = .DataField(0)
		.DataField(9) = "BirthDate"
		.DataField(10) = "HireDate"
		.DataTechnology("Links") = "ADODB.Recordset;ADOR.Recordset"
		.DataSource("Links") = .DataSource("Items")
		.DataMember("Links") = "EmployeeLinks"
		.DataField(15) = "Links"
		.DataField(16) = "Start"
		.DataField(17) = "End"
	End With
End Function
</SCRIPT>
</BODY>

8
ADO sample ( tree recordset )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "ADODB.Recordset;ADOR.Recordset"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
		.DataField(1) = "EmployeeID"
		.DataField(2) = "ReportsTo"
	End With
End Function
</SCRIPT>
</BODY>

7
ADO sample ( flat recordset )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		Set rsEmployees = CreateObject("ADODB.Recordset")
		rsEmployees.Open "Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb",3,3
		.DataSource("Items") = rsEmployees
		.DataField(0) = "Items"
	End With
End Function
</SCRIPT>
</BODY>

6
ADO sample ( flat table )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "ADODB.Recordset;ADOR.Recordset"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.accdb"
		.DataMember("Items") = "Employees"
		.DataField(0) = "Items"
	End With
End Function
</SCRIPT>
</BODY>

5
XML sample ( object, MSXML.DOMDocument )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		Set xml = CreateObject("MSXML.DOMDocument")
		xml.async = False
		xml.load "C:\Program Files\Exontrol\ExG2Host\Sample\sample.xml"
		.DataSource("Items") = xml
		.DataField(0) = "Items"
		With .Host
			.LinesAtRoot = -1
			.SingleSel = False
			.AutoDrag = 3
		End With
	End With
End Function
</SCRIPT>
</BODY>

4
XML sample ( file tree )

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_Error(Error,Description)
	With G2Host1
		alert( Error )
		alert( Description )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.DataTechnology("Items") = "MSXML.DOMDocument"
		.DataSource("Items") = "C:\Program Files\Exontrol\ExG2Host\Sample\sample.xml"
		.DataField(0) = "Items"
		With .Host
			.LinesAtRoot = -1
			.SingleSel = False
			.AutoDrag = 3
		End With
	End With
End Function
</SCRIPT>
</BODY>

3
How can I let user create new items/bars when clicking the empty area of the control
<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( .HostEventParam(-2) )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.HostReadOnly = 255 ' HostReadOnlyEnum.exHostReadWrite Or HostReadOnlyEnum.exHostAllowAddEmptyItem
		With .Host
			.ScrollBars = 2058 ' ScrollBarsEnum.exVScrollEmptySpace Or ScrollBarsEnum.exDisableNoVertical
			With .Chart
				.PaneWidth(False) = 128
				.AllowCreateBar = 1
			End With
		End With
	End With
End Function
</SCRIPT>
</BODY>

2
How do I handle events of the host

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function G2Host1_HostEvent(EventID)
	With G2Host1
		alert( .HostEventParam(-2) )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host
			.BeginUpdate 
			.Columns.Add "new column"
			.EndUpdate 
		End With
	End With
End Function
</SCRIPT>
</BODY>

1
How can I get the version of the host/exg2antt control

<BODY onload="Init()">
<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		alert( .Version )
		alert( "Host" )
		alert( .Host.Version )
	End With
End Function
</SCRIPT>
</BODY>