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
With Exg2host1
	With .Host
		.BeginUpdate()
		.ColumnAutoResize = True
		.ContinueColumnScroll = False
		.FocusColumnIndex = 1
		.MarkSearchColumn = False
		.SearchColumnIndex = 1
		.FilterBarPromptVisible = exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarPromptOnEnter Or exontrol.EXG2ANTTLib.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
52
Print and Print Preview

Dim h
With Exg2host1
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostReadOnly
	With .Host
		.BeginUpdate()
		.ReplaceIcon("gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+O" & _
	"kYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==")
		.ReplaceIcon("C:\images\favicon.ico",0)
		With .Chart
			.FirstVisibleDate = #1/1/2001#
			.set_PaneWidth(False,128)
			.LevelCount = 2
		End With
		With .Items
			h = .AddItem("Task 1")
			.AddBar(h,"Task",#1/2/2001#,#1/6/2001#,"K1")
			.set_ItemBar(h,"K1",3,"<img>1</img>")
		End With
		.EndUpdate()
	End With
	' Add 'exontrol.exprint.dll(ExPrint.dll)' reference to your project.
	With New exontrol.EXPRINTLib.exprint()
		.PrintExt = Exg2host1.Host
		.Preview()
	End With
End With
51
How can I replace or add an icon at runtime

Dim h
With Exg2host1
	With .Host
		.BeginUpdate()
		.ReplaceIcon("gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+O" & _
	"kYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==")
		.ReplaceIcon("C:\images\favicon.ico",0)
		With .Chart
			.FirstVisibleDate = #1/1/2001#
			.set_PaneWidth(False,128)
			.LevelCount = 2
		End With
		With .Items
			h = .AddItem("Task 1")
			.AddBar(h,"Task",#1/2/2001#,#1/6/2001#,"K1")
			.set_ItemBar(h,"K1",3,"<img>1</img>")
		End With
		.EndUpdate()
	End With
End With
50
How do I get the start/end of the bar once the BarResize/BarResizing event occurs

' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	Dim h,key
	With Exg2host1
		h = .get_HostEventParam(0)
		key = .get_HostEventParam(1)
		Debug.Print( .get_HostEventParam(-2) )
		Debug.Print( "Start:" )
		Debug.Print( .Host.Items.get_ItemBar(h,key,1) )
		Debug.Print( .get_HostEventParam(-2) )
		Debug.Print( "End:" )
		Debug.Print( .Host.Items.get_ItemBar(h,key,2) )
	End With
End Sub

With Exg2host1
	With .Host.Chart
		.set_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
49
How do I get the bar/task from the cursor
' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	Dim b,c,h,i
	With Exg2host1
		Debug.Print( "Event:" )
		Debug.Print( .get_HostEventParam(-2) )
		With .Host
			i = .get_ItemFromPoint(-1,-1,c,h)
			Debug.Print( "Cell:" )
			Debug.Print( .Items.get_CellCaption(i,c) )
			With .Chart
				b = .get_BarFromPoint(-1,1)
				Debug.Print( "Bar:" )
				Debug.Print( Exg2host1.Host.Items.get_ItemBar(i,b,0) )
			End With
		End With
	End With
End Sub


48
How do I get the cell from the cursor

' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	Dim c,h,i
	With Exg2host1
		Debug.Print( "Event:" )
		Debug.Print( .get_HostEventParam(-2) )
		With .Host
			i = .get_ItemFromPoint(-1,-1,c,h)
			Debug.Print( "Cell:" )
			Debug.Print( .Items.get_CellCaption(i,c) )
		End With
	End With
End Sub


47
How can I highlights cells based on its value

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	With .Host
		.BeginUpdate()
		.BackColorAlternate = Color.FromArgb(0,0,0)
		With .Columns.Item("Title")
			.set_Def(4,15790320)
			.Width = .AutoWidth
		End With
		With .ConditionalFormats
			.Add("lower(%4) contains `manager`").Bold = True
			.Add("%3").BackColor = Color.FromArgb(240,240,240)
		End With
		.Items.set_ExpandItem(0,True)
		With .Columns.Item("EmployeeID")
			.Width = .AutoWidth
		End With
		.EndUpdate()
	End With
End With
46
How do I programatically hide a column

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Columns.Item("LastName").Visible = False
End With
45
Is it possible to get the information from the control when we click on the bar/item

' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	Dim b,c,hit,i
	With Exg2host1
		Debug.Print( .get_HostEventParam(-2) )
		With .Host
			i = .get_ItemFromPoint(-1,-1,c,hit)
			Debug.Print( "cell's value from cursor: " )
			Debug.Print( .Items.get_CellValue(i,c) )
			Debug.Print( "cell's value on col 1: " )
			Debug.Print( .Items.get_CellValue(i,1) )
			b = .Chart.get_BarFromPoint(-1,-1)
			Debug.Print( "Bar:" )
			Debug.Print( b )
			Debug.Print( "Bar Start:" )
			Debug.Print( .Items.get_ItemBar(i,b,1) )
			Debug.Print( "Bar End:" )
			Debug.Print( .Items.get_ItemBar(i,b,2) )
			Debug.Print( "Bar Caption:" )
			Debug.Print( .Items.get_ItemBar(i,b,3) )
		End With
	End With
End Sub

With Exg2host1
	With .Host
		.Debug = True
		With .Chart.Bars.Item("Task")
			.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
	End With
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Items.set_ExpandItem(0,True)
	With .Host.Chart
		.set_PaneWidth(False,128)
		.ScrollTo(#5/27/2017#,1)
	End With
End With
44
How do I get the bar from the cursor

' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	With Exg2host1
		Debug.Print( .get_HostEventParam(-2) )
		Debug.Print( .Host.Chart.get_BarFromPoint(-1,-1) )
	End With
End Sub

With Exg2host1
	With .Host
		.VisualAppearance.Add(1,"C:\Program Files\Exontrol\ExG2Host\Sample\EBN\Assorted\wbs-ass.ebn")
		With .Chart.Bars.Item("Task")
			.Height = 15
			.Color32 = &H1ff0000
			.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
	End With
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Items.set_ExpandItem(0,True)
	With .Host.Chart
		.set_PaneWidth(False,128)
		.ScrollTo(#5/27/2017#,1)
	End With
End With
43
How do I add Start/End columns

' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	With Exg2host1
		Debug.Print( .get_HostEventParam(-2) )
	End With
End Sub

With Exg2host1
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostReadWrite Or exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowAddEmptyItem
	With .Host
		.SingleSel = False
		.OnResizeControl = 1
		.ScrollBars = exontrol.EXG2ANTTLib.ScrollBarsEnum.exVScrollEmptySpace Or exontrol.EXG2ANTTLib.ScrollBarsEnum.exDisableNoVertical
		With .Columns.Add("Start")
			.AllowSizing = False
			.set_Def(18,1)
			.Editor.EditType = 7
		End With
		With .Columns.Add("End")
			.AllowSizing = False
			.set_Def(18,2)
			.Editor.EditType = 7
		End With
		.Items.AllowCellValueToItemBar = True
		With .Chart
			.AllowCreateBar = 1
			.set_PaneWidth(False,256)
			.Bars.Item("Task").OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		End With
	End With
End With
42
How do I hide the left/items/columns part of the control

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	With .Host.Chart.Bars.Item("Task")
		.Pattern = 1
		.Color = Color.FromArgb(0,0,255)
		.set_Def(19,50)
	End With
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Items.set_ExpandItem(0,True)
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostReadWrite Or exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowAddEmptyItem
	With .Host
		.OnResizeControl = exontrol.EXG2ANTTLib.OnResizeControlEnum.exDisableSplitter Or exontrol.EXG2ANTTLib.OnResizeControlEnum.exResizeChart
		With .Chart
			.ColumnsFormatLevel = "1"
			.set_PaneWidth(False,0)
			.ScrollTo(#5/27/2017#,1)
		End With
	End With
End With
41
How do I hide the right/chart/tasks part of the control

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	With .Host.Chart.Bars.Item("Task")
		.Pattern = 1
		.Color = Color.FromArgb(0,0,255)
		.set_Def(19,50)
	End With
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Items.set_ExpandItem(0,True)
	With .Host
		With .Chart
			.set_PaneWidth(True,0)
			.OverviewVisible = 0
		End With
	End With
End With
40
How do hide the top/overview part of the control

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,.get_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource))
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"BirthDate")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"HireDate")
	With .Host
		With .Chart
			.OverviewVisible = 0
			.set_PaneWidth(False,256)
			.ScrollTo(#4/27/1969#,1)
		End With
	End With
End With
39
How do I resize the panels

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	With .Host
		.VisualAppearance.Add(1,"C:\Program Files\Exontrol\ExG2Host\Sample\EBN\Assorted\wbs-ass.ebn")
		With .Chart.Bars.Item("Task")
			.Height = 15
			.Color32 = &H1ff0000
			.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
	End With
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Items.set_ExpandItem(0,True)
	With .Host.Chart
		.set_PaneWidth(False,128)
		.ScrollTo(#5/27/2017#,1)
	End With
End With
38
How do I lock the first column

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	With .Host
		.CountLockedColumns = 1
		.BackColorLock = .BackColorAlternate
	End With
End With
37
How do I specify a different color for the tasks ( EBN color )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	With .Host
		.VisualAppearance.Add(1,"C:\Program Files\Exontrol\ExG2Host\Sample\EBN\Assorted\wbs-ass.ebn")
		With .Chart.Bars.Item("Task")
			.Height = 15
			.Color32 = &H1ff0000
			.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
	End With
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.set_PaneWidth(False,256)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
36
How do I specify a different color for the tasks ( solid color, transparent )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	With .Host.Chart.Bars.Item("Task")
		.Pattern = 1
		.Color = Color.FromArgb(0,0,255)
		.set_Def(19,50)
	End With
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksColor,"Color")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksCaption,"TaskName")
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.set_PaneWidth(False,256)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
35
GroupBy

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host
		.AllowGroupBy = True
		.SortBarVisible = True
		.BackColorSortBar = Exg2host1.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 = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
			.OverlaidGroup = "Task,Progress"
		End With
		.Items.set_ExpandItem(0,True)
		.CountLockedColumns = 1
		.BackColorLock = .BackColorAlternate
		With .Columns.Item("EmployeeID")
			.AllowGroupBy = False
			.set_Def(7,Exg2host1.Host.BackColorAlternate)
		End With
		.Columns.Item("Title").SortOrder = 1
	End With
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
34
How can I hide a column
' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.Host.Columns.Item(0).Visible = False
End With
33
Can row errors being highligted until the user correct them, not to clear them as soon a change occurs

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_HostDef(exontrol.EXG2HOSTLib.DefHostPropertyEnum.exErrorClearOnChange,False)
End With
32
No error is highligthed

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
End With
31
I've noticed that rows with errors are shown in red. Is it possible to change the colors

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_HostDef(exontrol.EXG2HOSTLib.DefHostPropertyEnum.exErrorBackColor,0)
	.set_HostDef(exontrol.EXG2HOSTLib.DefHostPropertyEnum.exErrorForeColor,16777215)
End With
30
Is it possible to rename the (New) to something else

With Exg2host1
	.set_HostDef(exontrol.EXG2HOSTLib.DefHostPropertyEnum.exNew,"*")
	With .Host
		.BeginUpdate()
		.Items.AddItem("A")
		.Items.AddItem("B")
		.EndUpdate()
	End With
	.Refresh()
End With
29
How can I hide the (New) item (sample 2)

With Exg2host1
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowUpdate Or exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowDelete
	With .Host
		.BeginUpdate()
		.Items.AddItem("A")
		.Items.AddItem("B")
		.EndUpdate()
	End With
End With
28
How can I hide the (New) item (sample 1)

With Exg2host1
	.set_HostDef(exontrol.EXG2HOSTLib.DefHostPropertyEnum.exNew,"")
	With .Host
		.BeginUpdate()
		.Items.AddItem("A")
		.Items.AddItem("B")
		.EndUpdate()
	End With
	.Refresh()
End With
27
Read-Only

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostReadOnly
End With
26
How can I prevent user create new /delete tasks ( only move or resize then )
' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host.Chart.Bars.Item("Task")
		.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		.OverlaidGroup = "Task,Progress"
	End With
	.Host.Items.set_ExpandItem(0,True)
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowUpdate
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
25
How do I get the row/item/task/link from the cursor

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	With Exg2host1
		Debug.Print( .HostContext.ToString )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowUpdate Or exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowAddNew
End With
24
Disable Delete
' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowUpdate Or exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowAddNew
End With
23
Disable AddNew

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowUpdate Or exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowDelete
End With
22
ACCDB sample ( file )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host.Chart.Bars.Item("Task")
		.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		.OverlaidGroup = "Task,Progress"
	End With
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
21
MDB sample ( file )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\sample.mdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host.Chart.Bars.Item("Task")
		.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		.OverlaidGroup = "Task,Progress"
	End With
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
20
DBF sample ( file )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\sample.dbf")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
End With
19
DAO sample ( object, DAO.DBEngine.120, multiple tasks, multiple tables )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

Dim rsEmployees,rsLinks,rsTasks
With Exg2host1
	With New DAO.PrivDBEngine()
		With .OpenDatabase("C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
			rsEmployees = .OpenRecordset("Employees")
			rsTasks = .OpenRecordset("EmployeeDetails")
			rsLinks = .OpenRecordset("EmployeeLinks")
		End With
	End With
	.set_DataSource("Items",rsEmployees)
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataSource("Tasks",rsTasks)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataSource("Links",rsLinks)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host.Chart.Bars.Item("Task")
		.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		.OverlaidGroup = "Task,Progress"
	End With
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
18
DAO sample ( file, multiple tasks, multiple tables )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","DAO.DBEngine.120;DAO.DBEngine.36")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataTechnology("Tasks","DAO.DBEngine.120;DAO.DBEngine.36")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataTechnology("Links","DAO.DBEngine.120;DAO.DBEngine.36")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host.Chart.Bars.Item("Task")
		.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		.OverlaidGroup = "Task,Progress"
	End With
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
17
DAO sample ( object, DAO.DBEngine.120, single task, single table )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

Dim rsEmployees,rsLinks
With Exg2host1
	With New DAO.PrivDBEngine()
		With .OpenDatabase("C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
			rsEmployees = .OpenRecordset("Employees")
			rsLinks = .OpenRecordset("EmployeeLinks")
		End With
	End With
	.set_DataSource("Items",rsEmployees)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,.get_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource))
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"BirthDate")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"HireDate")
	.set_DataSource("Links",rsLinks)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
End With
16
DAO sample ( file, single task, single table )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","DAO.DBEngine.120;DAO.DBEngine.36")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,.get_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource))
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"BirthDate")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"HireDate")
	.set_DataTechnology("Links","DAO.DBEngine.120;DAO.DBEngine.36")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
End With
15
DAO sample ( tree recordset )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","DAO.DBEngine.120;DAO.DBEngine.36")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
End With
14
DAO sample ( flat recordset )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

Dim rsEmployees
With Exg2host1
	With New DAO.PrivDBEngine()
		With .OpenDatabase("C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
			rsEmployees = .OpenRecordset("Employees")
		End With
	End With
	.set_DataSource("Items",rsEmployees)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
End With
13
DAO sample ( flat )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","DAO.DBEngine.120;DAO.DBEngine.36")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
End With
12
ADO sample ( object, ADODB.Recordset, multiple tasks )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

Dim rsEmployees,rsLinks,rsTasks,rstasks
With Exg2host1
	rsEmployees = New ADODB.Recordset()
	rsEmployees.Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb",3,3)
	.set_DataSource("Items",rsEmployees)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	rsTasks = New ADODB.Recordset()
	rsTasks.Open("EmployeeDetails","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb",3,3)
	.set_DataSource("Tasks",rstasks)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	rsLinks = New ADODB.Recordset()
	rsLinks.Open("EmployeeLinks","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb",3,3)
	.set_DataSource("Links",rsLinks)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host.Chart.Bars.Item("Task")
		.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		.OverlaidGroup = "Task,Progress"
	End With
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
11
ADO sample ( file, multiple tasks, multiple tables )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","ADODB.Recordset;ADOR.Recordset")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataTechnology("Tasks","ADODB.Recordset;ADOR.Recordset")
	.set_DataSource("Tasks",.get_DataSource("Items"))
	.set_DataMember("Tasks","EmployeeDetails")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,"Tasks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksItemID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"DateStart")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"DateEnd")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksID,"TaskID")
	.set_DataTechnology("Links","ADODB.Recordset;ADOR.Recordset")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
	With .Host.Chart.Bars.Item("Task")
		.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange Or exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack
		.OverlaidGroup = "Task,Progress"
	End With
	.Host.Items.set_ExpandItem(0,True)
	.Host.Chart.ScrollTo(#5/27/2017#,1)
End With
10
ADO sample ( object, ADODB.Recordset, single task, single table )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

Dim rsEmployees,rsLinks
With Exg2host1
	rsEmployees = New ADODB.Recordset()
	rsEmployees.Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb",3,3)
	.set_DataSource("Items",rsEmployees)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,.get_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource))
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"BirthDate")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"HireDate")
	rsLinks = New ADODB.Recordset()
	rsLinks.Open("EmployeeLinks","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb",3,3)
	.set_DataSource("Links",rsLinks)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
End With
9
ADO sample ( file, single task, single table )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","ADODB.Recordset;ADOR.Recordset")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksDataSource,.get_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource))
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksStart,"BirthDate")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exTasksEnd,"HireDate")
	.set_DataTechnology("Links","ADODB.Recordset;ADOR.Recordset")
	.set_DataSource("Links",.get_DataSource("Items"))
	.set_DataMember("Links","EmployeeLinks")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksDataSource,"Links")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksStart,"Start")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exLinksEnd,"End")
End With
8
ADO sample ( tree recordset )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","ADODB.Recordset;ADOR.Recordset")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsID,"EmployeeID")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsParentID,"ReportsTo")
End With
7
ADO sample ( flat recordset )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

Dim rsEmployees
With Exg2host1
	rsEmployees = New ADODB.Recordset()
	rsEmployees.Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb",3,3)
	.set_DataSource("Items",rsEmployees)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
End With
6
ADO sample ( flat table )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","ADODB.Recordset;ADOR.Recordset")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\Access\sample.accdb")
	.set_DataMember("Items","Employees")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
End With
5
XML sample ( object, MSXML.DOMDocument )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

Dim xml
With Exg2host1
	xml = New MSXML2.FreeThreadedDOMDocument30()
	xml.async = False
	xml.load("C:\Program Files\Exontrol\ExG2Host\Sample\sample.xml")
	.set_DataSource("Items",xml)
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	With .Host
		.LinesAtRoot = -1
		.SingleSel = False
		.AutoDrag = 3
	End With
End With
4
XML sample ( file tree )

' Error event - Fired when an internal error occurs.
Private Sub Exg2host1_Error(ByVal sender As System.Object, ByVal Err As Integer, ByVal Description As String) Handles Exg2host1.Error
	With Exg2host1
		Debug.Print( Err )
		Debug.Print( Description )
	End With
End Sub

With Exg2host1
	.set_DataTechnology("Items","MSXML.DOMDocument")
	.set_DataSource("Items","C:\Program Files\Exontrol\ExG2Host\Sample\sample.xml")
	.set_DataField(exontrol.EXG2HOSTLib.HostObjectFieldEnum.exItemsDataSource,"Items")
	With .Host
		.LinesAtRoot = -1
		.SingleSel = False
		.AutoDrag = 3
	End With
End With
3
How can I let user create new items/bars when clicking the empty area of the control
' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	With Exg2host1
		Debug.Print( .get_HostEventParam(-2) )
	End With
End Sub

With Exg2host1
	.HostReadOnly = exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostReadWrite Or exontrol.EXG2HOSTLib.HostReadOnlyEnum.exHostAllowAddEmptyItem
	With .Host
		.ScrollBars = exontrol.EXG2ANTTLib.ScrollBarsEnum.exVScrollEmptySpace Or exontrol.EXG2ANTTLib.ScrollBarsEnum.exDisableNoVertical
		With .Chart
			.set_PaneWidth(False,128)
			.AllowCreateBar = 1
		End With
	End With
End With
2
How do I handle events of the host

' HostEvent event - Notifies the application once the host fires an event.
Private Sub Exg2host1_HostEvent(ByVal sender As System.Object, ByVal EventID As exontrol.EXG2HOSTLib.HostEventEnum) Handles Exg2host1.HostEvent
	With Exg2host1
		Debug.Print( .get_HostEventParam(-2) )
	End With
End Sub

With Exg2host1
	With .Host
		.BeginUpdate()
		.Columns.Add("new column")
		.EndUpdate()
	End With
End With
1
How can I get the version of the host/exg2antt control

With Exg2host1
	Debug.Print( .Version )
	Debug.Print( "Host" )
	Debug.Print( .Host.Version )
End With