53
How can I prevent the control from filtering while the user is typing in the filter prompt, and apply the filter only when the Enter key is pressed
<BODY onload="Init()">
<OBJECT CLASSID="clsid:DFE195F7-4F43-482A-A14B-0C97B032A5E1" id="G2Host1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host
			.BeginUpdate 
			.ColumnAutoResize = True
			.ContinueColumnScroll = 0
			.FocusColumnIndex = 1
			.MarkSearchColumn = False
			.SearchColumnIndex = 1
			.FilterBarPromptVisible = 16385 ' FilterBarVisibleEnum.exFilterBarPromptOnEnter Or FilterBarVisibleEnum.exFilterBarPromptVisible
			.FilterBarPrompt = "<i><fgcolor=808080>Type filter and press Enter…</fgcolor></i>"
			.FilterBarPromptType = 3
			With .Items
				.AddItem "Nancy Davolio"
				.AddItem "Andrew Fuller"
				.AddItem "Janet Leverling"
				.AddItem "Margaret Peacock"
				.AddItem "Steven Buchanan"
				.AddItem "Michael Suyama"
				.AddItem "Robert King"
				.AddItem "Laura Callahan"
				.AddItem "Anne Dodsworth"
			End With
			.EndUpdate 
		End With
	End With
End Function
</SCRIPT>
</BODY>

52
Print and Print Preview

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

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		.HostReadOnly = 0
		With .Host
			.BeginUpdate 
			.ReplaceIcon "gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+O" & _
		"kYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA=="
			.ReplaceIcon "C:\images\favicon.ico",0
			With .Chart
				.FirstVisibleDate = #1/1/2001#
				.PaneWidth(False) = 128
				.LevelCount = 2
			End With
			With .Items
				h = .AddItem("Task 1")
				.AddBar h,"Task",#1/2/2001#,#1/6/2001#,"K1"
				.ItemBar(h,"K1",3) = "<img>1</img>"
			End With
			.EndUpdate 
		End With
		With CreateObject("Exontrol.Print")
			.PrintExt = G2Host1.Host.Object
			.Preview 
		End With
	End With
End Function
</SCRIPT>
</BODY>

51
How can I replace or add an icon at runtime

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

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With G2Host1
		With .Host
			.BeginUpdate 
			.ReplaceIcon "gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+O" & _
		"kYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA=="
			.ReplaceIcon "C:\images\favicon.ico",0
			With .Chart
				.FirstVisibleDate = #1/1/2001#
				.PaneWidth(False) = 128
				.LevelCount = 2
			End With
			With .Items
				h = .AddItem("Task 1")
				.AddBar h,"Task",#1/2/2001#,#1/6/2001#,"K1"
				.ItemBar(h,"K1",3) = "<img>1</img>"
			End With
			.EndUpdate 
		End With
	End With
End Function
</SCRIPT>
</BODY>

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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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\Access\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>