1218
How can I save the changes, such as column's width, order

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Click = class::nativeObject_Click
endwith
*/
// Occurs when the user presses and then releases the left mouse button over the grid control.
function nativeObject_Click()
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Layout = "Select=" + ["] + "0" + ["] + ";SingleSort=" + ["] + "C0:2" + ["] + ";Columns=1"
return

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.Columns.Add("Column")
var_Items = oGrid.Items
	var_Items.AddItem("Item 1")
	var_Items.AddItem("Item 2")
	var_Items.AddItem("Item 3")
oGrid.EndUpdate()

1217
How can I add totals to groups without having to go through the AddGroupItem grid function

local g1,g2,h,oGrid,r,var_Column,var_Column1,var_Column2,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormats,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.FreezeEvents(true)
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_ConditionalFormats = oGrid.ConditionalFormats
	var_ConditionalFormat = var_ConditionalFormats.Add("%CT1")
		var_ConditionalFormat.ForeColor = 0x808080
		var_ConditionalFormat.ApplyTo = 1 /*0x1 | */
	var_ConditionalFormat1 = var_ConditionalFormats.Add("%CT2")
		var_ConditionalFormat1.ForeColor = 0x808080
		var_ConditionalFormat1.ApplyTo = 2 /*0x2 | */
	var_ConditionalFormat2 = var_ConditionalFormats.Add("%CT3")
		var_ConditionalFormat2.ForeColor = 0x808080
		var_ConditionalFormat2.ApplyTo = 3 /*0x3 | */
var_Columns = oGrid.Columns
	var_Columns.Add("Description")
	var_Column = var_Columns.Add("Qty")
		var_Column.Editor.EditType = 4
		// var_Column.Def(20) = "sum(current,rec,%1)"
		with (oGrid)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(20) = "sum(current,rec,%1)"]
		endwith
	var_Column1 = var_Columns.Add("Price")
		// var_Column1.Def(20) = "avg(current,rec,%2)"
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(20) = "avg(current,rec,%2)"]
		endwith
		var_Column1.Editor.EditType = 4
	var_Column2 = var_Columns.Add("Amount")
		var_Column2.ComputedField = "%1 * %2"
		// var_Column2.Def(20) = "sum(current,rec,%3)"
		with (oGrid)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(20) = "sum(current,rec,%3)"]
		endwith
var_Items = oGrid.Items
	r = var_Items.AddItem("Root")
	g1 = var_Items.InsertItem(r,null,"Group 1")
	h = var_Items.InsertItem(g1,null,"Item 1")
	// var_Items.CellValue(h,1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 1]
	endwith
	// var_Items.CellValue(h,2) = 10
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 10]
	endwith
	h = var_Items.InsertItem(g1,null,"Item 2")
	// var_Items.CellValue(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 2]
	endwith
	// var_Items.CellValue(h,2) = 11
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 11]
	endwith
	g2 = var_Items.InsertItem(r,null,"Group 2")
	h = var_Items.InsertItem(g2,null,"Item 1")
	// var_Items.CellValue(h,1) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 3]
	endwith
	// var_Items.CellValue(h,2) = 12
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 12]
	endwith
	h = var_Items.InsertItem(g2,null,"Item 2")
	// var_Items.CellValue(h,1) = 4
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 4]
	endwith
	// var_Items.CellValue(h,2) = 13
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 13]
	endwith
	// var_Items.ExpandItem(0) = true
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ExpandItem(0) = True]
	endwith
oGrid.EndUpdate()
oGrid.FreezeEvents(false)

1216
How can I configure the filters in the text columns to search by content

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.FilterBarPromptVisible = 1
oGrid.HeaderAppearance = 0
oGrid.FilterBarPromptType = 1
oGrid.Columns.Add("Names")
var_Items = oGrid.Items
	var_Items.AddItem("Mantel")
	var_Items.AddItem("Mechanik")
	var_Items.AddItem("Motor")
	var_Items.AddItem("Murks")
	var_Items.AddItem("Märchen")
	var_Items.AddItem("Möhren")
	var_Items.AddItem("Mühle")
	var_Items.AddItem("Sérigraphie")
oGrid.FilterBarPromptPattern = "a"
oGrid.EndUpdate()

1215
How can I display the control's captions in Spanish

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.FilterBarPromptVisible = 1
oGrid.HeaderAppearance = 0
oGrid.Template = [Description(0) = "(todo) "] // oGrid.Description(0) = "(todo) "
oGrid.Template = [Description(3) = "filtrar por..."] // oGrid.Description(3) = "filtrar por..."
oGrid.FilterBarPrompt = "<i><fgcolor=808080>iniciar filtro...</fgcolor></i>"
var_Column = oGrid.Columns.Add("Names")
	var_Column.DisplayFilterButton = true
	var_Column.FilterType = 3
var_Items = oGrid.Items
	var_Items.AddItem("Mantel")
	var_Items.AddItem("Mechanik")
	var_Items.AddItem("Motor")
	var_Items.AddItem("Murks")
	var_Items.AddItem("Märchen")
	var_Items.AddItem("Möhren")
	var_Items.AddItem("Mühle")
	var_Items.AddItem("Sérigraphie")
oGrid.EndUpdate()

1214
How can I zoom in the control

local oGrid,s1,s2,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
s1 = 16
s2 = oGrid.FormatABC("2 * value",s1)
oGrid.ImageSize = s2
oGrid.DefaultItemHeight = s2
oGrid.HeaderHeight = s2
oGrid.SortBarHeight = s2
oGrid.Indent = s2
oGrid.Font.Size = s1
oGrid.FilterBarFont.Size = s1
oGrid.ToolTipFont.Size = s1
oGrid.FilterBarPromptVisible = 1
oGrid.HeaderAppearance = 0
var_Column = oGrid.Columns.Add("Names")
	var_Column.DisplayFilterButton = true
	var_Column.FilterType = 3
var_Items = oGrid.Items
	var_Items.AddItem("Mantel")
	var_Items.AddItem("Mechanik")
	var_Items.AddItem("Motor")
	var_Items.AddItem("Murks")
	var_Items.AddItem("Märchen")
	var_Items.AddItem("Möhren")
	var_Items.AddItem("Mühle")
	var_Items.AddItem("Sérigraphie")
oGrid.EndUpdate()

1213
Can I set a filter that automatically adds a * before and after the word, so the user can just search for 'cat' and it becomes '*cat*' automatically

local h,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_Column = oGrid.Columns.Add("Items")
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterPattern = true
	// var_Column.Def(21) = "*<%filter%>*"
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(21) = "*<%filter%>*"]
	endwith
	var_Column.FilterType = 3
	var_Column.Filter = "1"
var_Items = oGrid.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
oGrid.ApplyFilter()
oGrid.EndUpdate()

1212
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

local oGrid

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
oGrid.ColumnAutoResize = false
oGrid.Columns.Add("Column 1")
oGrid.Columns.Add("Column 2")
oGrid.Columns.Add("Column 3")
oGrid.Columns.Add("Column 4")
oGrid.EndUpdate()

1211
Load data as a tree using a parent-id relationship

local oGrid,rs,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.DrawGridLines = 2
oGrid.LinesAtRoot = -1
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Select * FROM Employees WHERE 1=0","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3)
oGrid.DataSource = rs
oGrid.Columns.Item(0).Width = 128
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3)
oGrid.PutItems(rs.GetRows(),";0;17")
// oGrid.Items.ExpandItem(0) = true
var_Items = oGrid.Items
with (oGrid)
	TemplateDef = [dim var_Items]
	TemplateDef = var_Items
	Template = [var_Items.ExpandItem(0) = True]
endwith
oGrid.EndUpdate()

1210
Is there a way to change the contents of the drop down editor based on a value in another column

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items,var_Items1
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	// oGrid.Items.CellEditorVisible(Item,0) = 1
	var_Items = oGrid.Items
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellEditorVisible(Item,0) = 1]
	endwith
	// oGrid.Items.CellEditorVisible(Item,1) = 1
	var_Items1 = oGrid.Items
	with (oGrid)
		TemplateDef = [dim var_Items1]
		TemplateDef = var_Items1
		Template = [var_Items1.CellEditorVisible(Item,1) = 1]
	endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	EditOpen = class::nativeObject_EditOpen
endwith
*/
// Occurs when the edit operation starts.
function nativeObject_EditOpen()
	local c,v,var_Editor,var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		v = var_Items.CellValue(var_Items.FocusItem,0)
		c = var_Items.CellCaption(var_Items.FocusItem,0)
	var_Editor = oGrid.Columns.Item(1).Editor
		var_Editor.ClearItems()
		var_Editor.AddItem(v,Str(c))
return

local h,oGrid,var_Column,var_Editor,var_Editor1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.GridLineStyle = 512
var_Column = oGrid.Columns.Add("DropDownList")
	var_Editor = var_Column.Editor
		var_Editor.EditType = 3
		var_Editor.AddItem(1,"First")
		var_Editor.AddItem(2,"Second")
		var_Editor.AddItem(3,"Third")
oGrid.DrawGridLines = -1
// oGrid.Columns.Add("DropDownList-Related").Editor.EditType = 3
var_Editor1 = oGrid.Columns.Add("DropDownList-Related").Editor
with (oGrid)
	TemplateDef = [dim var_Editor1]
	TemplateDef = var_Editor1
	Template = [var_Editor1.EditType = 3]
endwith
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem(1),1) = -1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(1),1) = -1]
	endwith
	// var_Items.CellValue(var_Items.AddItem(2),1) = -1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(2),1) = -1]
	endwith
	// var_Items.CellValue(var_Items.AddItem(3),1) = -1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(3),1) = -1]
	endwith
	// var_Items.LockedItemCount(2) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(2) = 1]
	endwith
	h = var_Items.LockedItem(2,0)
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.ItemDividerLineAlignment(h) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLineAlignment(h) = 2]
	endwith
	// var_Items.CellEditorVisible(h,0) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellEditorVisible(h,0) = False]
	endwith
	// var_Items.CellSingleLine(h,0) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = False]
	endwith
	// var_Items.CellValueFormat(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 1]
	endwith
	// var_Items.CellValue(h,0) = "The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection on the first column."
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,0) = "The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection on the first column."]
	endwith
oGrid.EndUpdate()

1209
Highlight the editable fields

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local g1,g2,h,oGrid,r,var_Column,var_Column1,var_Column2,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormats,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.FreezeEvents(true)
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_ConditionalFormats = oGrid.ConditionalFormats
	var_ConditionalFormat = var_ConditionalFormats.Add("%CE1")
		var_ConditionalFormat.Bold = true
		var_ConditionalFormat.BackColor = 0xf5f5f5
		var_ConditionalFormat.ApplyTo = 1 /*0x1 | */
	var_ConditionalFormat1 = var_ConditionalFormats.Add("%CE2")
		var_ConditionalFormat1.Bold = true
		var_ConditionalFormat1.BackColor = 0xf5f5f5
		var_ConditionalFormat1.ApplyTo = 2 /*0x2 | */
	var_ConditionalFormat2 = var_ConditionalFormats.Add("%CE3")
		var_ConditionalFormat2.Bold = true
		var_ConditionalFormat2.BackColor = 0xf5f5f5
		var_ConditionalFormat2.ApplyTo = 3 /*0x3 | */
var_Columns = oGrid.Columns
	var_Columns.Add("Description")
	var_Column = var_Columns.Add("Qty")
		var_Column.Editor.EditType = 4
		// var_Column.Def(20) = "sum(current,rec,%1)"
		with (oGrid)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(20) = "sum(current,rec,%1)"]
		endwith
	var_Column1 = var_Columns.Add("Price")
		// var_Column1.Def(20) = "avg(current,rec,%2)"
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(20) = "avg(current,rec,%2)"]
		endwith
		var_Column1.Editor.EditType = 4
	var_Column2 = var_Columns.Add("Amount")
		var_Column2.ComputedField = "%1 * %2"
		// var_Column2.Def(20) = "sum(current,rec,%3)"
		with (oGrid)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(20) = "sum(current,rec,%3)"]
		endwith
var_Items = oGrid.Items
	r = var_Items.AddItem("Root")
	g1 = var_Items.InsertItem(r,null,"Group 1")
	h = var_Items.InsertItem(g1,null,"Item 1")
	// var_Items.CellValue(h,1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 1]
	endwith
	// var_Items.CellValue(h,2) = 10
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 10]
	endwith
	h = var_Items.InsertItem(g1,null,"Item 2")
	// var_Items.CellValue(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 2]
	endwith
	// var_Items.CellValue(h,2) = 11
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 11]
	endwith
	g2 = var_Items.InsertItem(r,null,"Group 2")
	h = var_Items.InsertItem(g2,null,"Item 1")
	// var_Items.CellValue(h,1) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 3]
	endwith
	// var_Items.CellValue(h,2) = 12
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 12]
	endwith
	h = var_Items.InsertItem(g2,null,"Item 2")
	// var_Items.CellValue(h,1) = 4
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 4]
	endwith
	// var_Items.CellValue(h,2) = 13
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 13]
	endwith
	// var_Items.ExpandItem(0) = true
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ExpandItem(0) = True]
	endwith
oGrid.EndUpdate()
oGrid.FreezeEvents(false)

1208
Highlight the total fields

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local g1,g2,h,oGrid,r,var_Column,var_Column1,var_Column2,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormats,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.FreezeEvents(true)
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_ConditionalFormats = oGrid.ConditionalFormats
	var_ConditionalFormat = var_ConditionalFormats.Add("%CT1")
		var_ConditionalFormat.ForeColor = 0x808080
		var_ConditionalFormat.ApplyTo = 1 /*0x1 | */
	var_ConditionalFormat1 = var_ConditionalFormats.Add("%CT2")
		var_ConditionalFormat1.ForeColor = 0x808080
		var_ConditionalFormat1.ApplyTo = 2 /*0x2 | */
	var_ConditionalFormat2 = var_ConditionalFormats.Add("%CT3")
		var_ConditionalFormat2.ForeColor = 0x808080
		var_ConditionalFormat2.ApplyTo = 3 /*0x3 | */
var_Columns = oGrid.Columns
	var_Columns.Add("Description")
	var_Column = var_Columns.Add("Qty")
		var_Column.Editor.EditType = 4
		// var_Column.Def(20) = "sum(current,rec,%1)"
		with (oGrid)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(20) = "sum(current,rec,%1)"]
		endwith
	var_Column1 = var_Columns.Add("Price")
		// var_Column1.Def(20) = "avg(current,rec,%2)"
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(20) = "avg(current,rec,%2)"]
		endwith
		var_Column1.Editor.EditType = 4
	var_Column2 = var_Columns.Add("Amount")
		var_Column2.ComputedField = "%1 * %2"
		// var_Column2.Def(20) = "sum(current,rec,%3)"
		with (oGrid)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(20) = "sum(current,rec,%3)"]
		endwith
var_Items = oGrid.Items
	r = var_Items.AddItem("Root")
	g1 = var_Items.InsertItem(r,null,"Group 1")
	h = var_Items.InsertItem(g1,null,"Item 1")
	// var_Items.CellValue(h,1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 1]
	endwith
	// var_Items.CellValue(h,2) = 10
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 10]
	endwith
	h = var_Items.InsertItem(g1,null,"Item 2")
	// var_Items.CellValue(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 2]
	endwith
	// var_Items.CellValue(h,2) = 11
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 11]
	endwith
	g2 = var_Items.InsertItem(r,null,"Group 2")
	h = var_Items.InsertItem(g2,null,"Item 1")
	// var_Items.CellValue(h,1) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 3]
	endwith
	// var_Items.CellValue(h,2) = 12
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 12]
	endwith
	h = var_Items.InsertItem(g2,null,"Item 2")
	// var_Items.CellValue(h,1) = 4
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 4]
	endwith
	// var_Items.CellValue(h,2) = 13
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 13]
	endwith
	// var_Items.ExpandItem(0) = true
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ExpandItem(0) = True]
	endwith
oGrid.EndUpdate()
oGrid.FreezeEvents(false)

1207
Highlight the leaf items

local h,hR,oGrid,var_Column,var_Columns,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
// oGrid.ConditionalFormats.Add("%CC0=0").ForeColor = 0x808080
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%CC0=0")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.ForeColor = 8421504]
endwith
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_Columns = oGrid.Columns
	// var_Columns.Add("Item").Width = 16
	var_Column = var_Columns.Add("Item")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 16]
	endwith
	var_Columns.Add("Desc")
var_Items = oGrid.Items
	hR = var_Items.AddItem("Root")
	// var_Items.CellValue(hR,1) = "The root directory /"
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.CellValue(hR,1) = "The root directory /"]
	endwith
	// var_Items.ExpandItem(hR) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ExpandItem(hR) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Home")
	// var_Items.CellValue(h,1) = "The home directory with user directories Alice and Bob"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "The home directory with user directories Alice and Bob"]
	endwith
	var_Items.InsertItem(h,null,"Alice")
	var_Items.InsertItem(h,null,"Bob")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Etc")
	// var_Items.CellValue(h,1) = "The etc directory with one configuration file"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "The etc directory with one configuration file"]
	endwith
	h = var_Items.InsertItem(h,null,"nginx.conf")
	// var_Items.CellValue(var_Items.InsertItem(hR,null,"Var"),1) = "The var directory"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(hR,,"Var"),1) = "The var directory"]
	endwith
oGrid.EndUpdate()

1206
Highlight the parent items

local h,hR,oGrid,var_Column,var_Columns,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
// oGrid.ConditionalFormats.Add("%CC0").ForeColor = 0xff
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%CC0")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.ForeColor = 255]
endwith
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_Columns = oGrid.Columns
	// var_Columns.Add("Item").Width = 16
	var_Column = var_Columns.Add("Item")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 16]
	endwith
	var_Columns.Add("Desc")
var_Items = oGrid.Items
	hR = var_Items.AddItem("Root")
	// var_Items.CellValue(hR,1) = "The root directory /"
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.CellValue(hR,1) = "The root directory /"]
	endwith
	// var_Items.ExpandItem(hR) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ExpandItem(hR) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Home")
	// var_Items.CellValue(h,1) = "The home directory with user directories Alice and Bob"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "The home directory with user directories Alice and Bob"]
	endwith
	var_Items.InsertItem(h,null,"Alice")
	var_Items.InsertItem(h,null,"Bob")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Etc")
	// var_Items.CellValue(h,1) = "The etc directory with one configuration file"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "The etc directory with one configuration file"]
	endwith
	h = var_Items.InsertItem(h,null,"nginx.conf")
	// var_Items.CellValue(var_Items.InsertItem(hR,null,"Var"),1) = "The var directory"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(hR,,"Var"),1) = "The var directory"]
	endwith
oGrid.EndUpdate()

1205
Highlight the item being expanded or collapsed

local h,hR,oGrid,var_Column,var_Columns,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
// oGrid.ConditionalFormats.Add("%CX0").Bold = true
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%CX0")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.Bold = True]
endwith
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_Columns = oGrid.Columns
	// var_Columns.Add("Item").Width = 16
	var_Column = var_Columns.Add("Item")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 16]
	endwith
	var_Columns.Add("Desc")
var_Items = oGrid.Items
	hR = var_Items.AddItem("Root")
	// var_Items.CellValue(hR,1) = "The root directory /"
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.CellValue(hR,1) = "The root directory /"]
	endwith
	// var_Items.ExpandItem(hR) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ExpandItem(hR) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Home")
	// var_Items.CellValue(h,1) = "The home directory with user directories Alice and Bob"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "The home directory with user directories Alice and Bob"]
	endwith
	var_Items.InsertItem(h,null,"Alice")
	var_Items.InsertItem(h,null,"Bob")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Etc")
	// var_Items.CellValue(h,1) = "The etc directory with one configuration file"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "The etc directory with one configuration file"]
	endwith
	h = var_Items.InsertItem(h,null,"nginx.conf")
	// var_Items.CellValue(var_Items.InsertItem(hR,null,"Var"),1) = "The var directory"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(hR,,"Var"),1) = "The var directory"]
	endwith
oGrid.EndUpdate()

1204
I am using exTotalColumn. Is there an option to exclude specific cells to display the total

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local g1,g2,h,oGrid,r,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.FreezeEvents(true)
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_Columns = oGrid.Columns
	var_Columns.Add("Description")
	var_Column = var_Columns.Add("Qty")
		var_Column.Editor.EditType = 4
		// var_Column.Def(20) = "sum(current,rec,%1)"
		with (oGrid)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(20) = "sum(current,rec,%1)"]
		endwith
	var_Column1 = var_Columns.Add("Price")
		// var_Column1.Def(20) = "avg(current,rec,%2)"
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(20) = "avg(current,rec,%2)"]
		endwith
		var_Column1.Editor.EditType = 4
	var_Column2 = var_Columns.Add("Amount")
		var_Column2.ComputedField = "%1 * %2"
		// var_Column2.Def(20) = "sum(current,rec,%3)"
		with (oGrid)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(20) = "sum(current,rec,%3)"]
		endwith
var_Items = oGrid.Items
	r = var_Items.AddItem("Root")
	g1 = var_Items.InsertItem(r,null,"Group 1")
	// var_Items.FormatCell(g1,2) = "`<average missing>`"
	with (oGrid)
		TemplateDef = [dim var_Items,g1]
		TemplateDef = var_Items
		TemplateDef = g1
		Template = [var_Items.FormatCell(g1,2) = "`<average missing>`"]
	endwith
	// var_Items.CellEditorVisible(g1,2) = false
	with (oGrid)
		TemplateDef = [dim var_Items,g1]
		TemplateDef = var_Items
		TemplateDef = g1
		Template = [var_Items.CellEditorVisible(g1,2) = False]
	endwith
	// var_Items.CellBold(g1,2) = true
	with (oGrid)
		TemplateDef = [dim var_Items,g1]
		TemplateDef = var_Items
		TemplateDef = g1
		Template = [var_Items.CellBold(g1,2) = True]
	endwith
	// var_Items.CellForeColor(g1,2) = 0xff
	with (oGrid)
		TemplateDef = [dim var_Items,g1]
		TemplateDef = var_Items
		TemplateDef = g1
		Template = [var_Items.CellForeColor(g1,2) = 255]
	endwith
	h = var_Items.InsertItem(g1,null,"Item 1")
	// var_Items.CellValue(h,1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 1]
	endwith
	// var_Items.CellValue(h,2) = 10
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 10]
	endwith
	h = var_Items.InsertItem(g1,null,"Item 2")
	// var_Items.CellValue(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 2]
	endwith
	// var_Items.CellValue(h,2) = 11
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 11]
	endwith
	g2 = var_Items.InsertItem(r,null,"Group 2")
	h = var_Items.InsertItem(g2,null,"Item 1")
	// var_Items.CellValue(h,1) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 3]
	endwith
	// var_Items.CellValue(h,2) = 12
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 12]
	endwith
	h = var_Items.InsertItem(g2,null,"Item 2")
	// var_Items.CellValue(h,1) = 4
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 4]
	endwith
	// var_Items.CellValue(h,2) = 13
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 13]
	endwith
	// var_Items.ExpandItem(0) = true
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ExpandItem(0) = True]
	endwith
oGrid.EndUpdate()
oGrid.FreezeEvents(false)

1203
How can I add a total column

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local g1,g2,h,oGrid,r,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.FreezeEvents(true)
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.LinesAtRoot = -1
var_Columns = oGrid.Columns
	var_Columns.Add("Description")
	var_Column = var_Columns.Add("Qty")
		var_Column.Editor.EditType = 4
		// var_Column.Def(20) = "sum(current,rec,%1)"
		with (oGrid)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(20) = "sum(current,rec,%1)"]
		endwith
	var_Column1 = var_Columns.Add("Price")
		// var_Column1.Def(20) = "avg(current,rec,%2)"
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(20) = "avg(current,rec,%2)"]
		endwith
		var_Column1.Editor.EditType = 4
	var_Column2 = var_Columns.Add("Amount")
		var_Column2.ComputedField = "%1 * %2"
		// var_Column2.Def(20) = "sum(current,rec,%3)"
		with (oGrid)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(20) = "sum(current,rec,%3)"]
		endwith
var_Items = oGrid.Items
	r = var_Items.AddItem("Root")
	g1 = var_Items.InsertItem(r,null,"Group 1")
	h = var_Items.InsertItem(g1,null,"Item 1")
	// var_Items.CellValue(h,1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 1]
	endwith
	// var_Items.CellValue(h,2) = 10
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 10]
	endwith
	h = var_Items.InsertItem(g1,null,"Item 2")
	// var_Items.CellValue(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 2]
	endwith
	// var_Items.CellValue(h,2) = 11
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 11]
	endwith
	g2 = var_Items.InsertItem(r,null,"Group 2")
	h = var_Items.InsertItem(g2,null,"Item 1")
	// var_Items.CellValue(h,1) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 3]
	endwith
	// var_Items.CellValue(h,2) = 12
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 12]
	endwith
	h = var_Items.InsertItem(g2,null,"Item 2")
	// var_Items.CellValue(h,1) = 4
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = 4]
	endwith
	// var_Items.CellValue(h,2) = 13
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = 13]
	endwith
	// var_Items.ExpandItem(0) = true
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ExpandItem(0) = True]
	endwith
oGrid.EndUpdate()
oGrid.FreezeEvents(false)

1202
Is it possible to disable sizing(size) the column
local oGrid,var_Column

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = 2
var_Column = oGrid.Columns.Add("32px")
	var_Column.Width = 32
	var_Column.AllowSizing = false
oGrid.Columns.Add("Rest")
oGrid.ColumnAutoResize = true
oGrid.EndUpdate()

1201
How can I add two columns of 25% and the third of 50%

local oGrid,var_Column,var_Column1,var_Column2

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = 2
// oGrid.Columns.Add("25%").Width = 25
var_Column = oGrid.Columns.Add("25%")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 25]
endwith
// oGrid.Columns.Add("25%").Width = 25
var_Column1 = oGrid.Columns.Add("25%")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.Width = 25]
endwith
// oGrid.Columns.Add("50%").Width = 50
var_Column2 = oGrid.Columns.Add("50%")
with (oGrid)
	TemplateDef = [dim var_Column2]
	TemplateDef = var_Column2
	Template = [var_Column2.Width = 50]
endwith
oGrid.ColumnAutoResize = true
oGrid.EndUpdate()

1200
I add two columns but I see a third column

local oGrid

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = 2
oGrid.Columns.Add("C1")
oGrid.Columns.Add("C2")
oGrid.ColumnAutoResize = true
oGrid.EndUpdate()

1199
I lose the hierarchy, all items are on the same 1st level, while I use PutItems

local oGrid,var_Items,var_Items1

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.Columns.Add("C1")
oGrid.Columns.Add("C2")
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem("Emily"),1) = "William"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Emily"),1) = "William"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Sophia"),1) = "Alexander"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Sophia"),1) = "Alexander"]
	endwith
oGrid.PutItems(oGrid.GetItems(""),oGrid.Items.ItemByIndex(0))
oGrid.PutItems(oGrid.GetItems(""),oGrid.Items.ItemByIndex(1))
oGrid.PutItems(oGrid.GetItems(""),oGrid.Items.ItemByIndex(6))
// oGrid.Items.ExpandItem(0) = true
var_Items1 = oGrid.Items
with (oGrid)
	TemplateDef = [dim var_Items1]
	TemplateDef = var_Items1
	Template = [var_Items1.ExpandItem(0) = True]
endwith
oGrid.EndUpdate()

1198
Column width set by code is ignored or it seems that does not work

local oGrid,var_Column,var_Column1,var_Column2

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = 2
// oGrid.Columns.Add("C1").Width = 32
var_Column = oGrid.Columns.Add("C1")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 32]
endwith
// oGrid.Columns.Add("C2").Width = 132
var_Column1 = oGrid.Columns.Add("C2")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.Width = 132]
endwith
// oGrid.Columns.Add("C3").Width = 264
var_Column2 = oGrid.Columns.Add("C3")
with (oGrid)
	TemplateDef = [dim var_Column2]
	TemplateDef = var_Column2
	Template = [var_Column2.Width = 264]
endwith
oGrid.EndUpdate()

1197
I want to display this computed value in a TextBox outside the grid and get it updated with any change of its value. How can this be done
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
	var_Items = oGrid.Items
		? "Total: " 
		? var_Items.CellCaption(var_Items.LockedItem(0,0),0) 
return

local h,oGrid,var_Column,var_Editor,var_Items,var_Items1

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Column = oGrid.Columns.Add("Numbers")
	var_Editor = var_Column.Editor
		var_Editor.Numeric = -1
		var_Editor.EditType = 4
	var_Column.SortType = 1
var_Items = oGrid.Items
	// var_Items.LockedItemCount(0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	h = var_Items.LockedItem(0,0)
	// var_Items.ItemBackColor(h) = 0xf0f0f0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBackColor(h) = 15790320]
	endwith
	// var_Items.CellValue(h,0) = "sum(all,dir,dbl(%0))"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,0) = "sum(all,dir,dbl(%0))"]
	endwith
	// var_Items.CellValueFormat(h,0) = 4
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 4]
	endwith
	// var_Items.CellHAlignment(h,0) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 2]
	endwith
	// var_Items.FormatCell(h,0) = "'Total: '+value"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "'Total: '+value"]
	endwith
var_Items1 = oGrid.Items
	var_Items1.AddItem(10)
	var_Items1.AddItem(25)
	var_Items1.AddItem(31)
	var_Items1.AddItem(48)
oGrid.EndUpdate()

1196
Disable temporarily the column's sort, resize and drag and drop

local oGrid,var_Column,var_Column1,var_Editor

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.SortBarVisible = true
oGrid.SortBarCaption = "<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)"
oGrid.AllowGroupBy = true
oGrid.HeaderEnabled = false
oGrid.HeaderAppearance = 4
// oGrid.Columns.Add("Index").FormatColumn = "1 index ``"
var_Column = oGrid.Columns.Add("Index")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.FormatColumn = "1 index ``"]
endwith
// oGrid.Columns.Add("Pos").FormatColumn = "1 apos ``"
var_Column1 = oGrid.Columns.Add("Pos")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.FormatColumn = "1 apos ``"]
endwith
// oGrid.Columns.Add("Edit").Editor.EditType = 1
var_Editor = oGrid.Columns.Add("Edit").Editor
with (oGrid)
	TemplateDef = [dim var_Editor]
	TemplateDef = var_Editor
	Template = [var_Editor.EditType = 1]
endwith
oGrid.GridLineStyle = 512
oGrid.DrawGridLines = 2
oGrid.GridLineColor = 0xe0e0e0
oGrid.EndUpdate()

1195
I wonder if it’s possible to highlight/select a column like Excel
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	ColumnClick = class::nativeObject_ColumnClick
endwith
*/
// Fired after the user clicks on column's header.
function nativeObject_ColumnClick(Column)
	/* Column.Selected = True */
	/* FocusColumnIndex = Column.Index */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Columns.Item(0).Selected = false
	oGrid.Columns.Item(1).Selected = false
	oGrid.Columns.Item(2).Selected = false
	oGrid.Items.SelectAll()
return

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.HeaderAppearance = 4
oGrid.MarkSearchColumn = false
oGrid.SingleSel = false
oGrid.FullRowSelect = 1
oGrid.SortOnClick = 0
oGrid.Columns.Add("Column1")
oGrid.Columns.Add("Column2")
oGrid.Columns.Add("Column3")
var_Items = oGrid.Items
	var_Items.DefaultItem = var_Items.AddItem(0)
	// var_Items.CellValue(0,1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(0,1) = 1]
	endwith
	// var_Items.CellValue(0,2) = 2
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(0,2) = 2]
	endwith
	var_Items.DefaultItem = var_Items.AddItem(3)
	// var_Items.CellValue(0,1) = 4
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(0,1) = 4]
	endwith
	// var_Items.CellValue(0,2) = 5
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(0,2) = 5]
	endwith
	var_Items.DefaultItem = var_Items.AddItem(6)
	// var_Items.CellValue(0,1) = 7
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(0,1) = 7]
	endwith
	// var_Items.CellValue(0,2) = 8
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(0,2) = 8]
	endwith
oGrid.EndUpdate()

1194
Is it possible to change the color of the border

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABc8IQAAYAQGKIcBiAKBQAGaAoDDMMwyQwAAxDMK8EwsACEIrjKCRShyCYZRhGcTALBIBQSHAZZKgOJIRDENg2SANACRfIUaw1DqBZwkGZoWhGKgAShIEDwSKkQBlECeJpnKaqIomJYnDLQUw0NL9HQ3JaaKqnWLBVCWEQyVzEIyjBT0EzHMqtKrjaA6NpaP4oT7LEIydKFCRJNi0bSnGqaOj6UJSURRVq3TTFcTyAC3ahuOo4cpXB4SWrOd41fYNOTQACzbCsSIcPxCe6GXjiNwjPKMWhnIq+M5wXIrJyKCYUaTcejzfgdU5XWqeMoyewMXxmZqbXw/fBYRrEL5vTqNXTzSA4BEB")
oGrid.Appearance = 16842496 /*0x100ff00 | */
oGrid.ColumnAutoResize = true
oGrid.HeaderAppearance = 4
oGrid.TreeColumnIndex = -1
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
oGrid.Columns.Add("Default")
var_Items = oGrid.Items
	var_Items.AddItem("before item")
	var_Items.AddItem("item")
	var_Items.AddItem("after item")
oGrid.EndUpdate()

1193
Expandable-caption

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AnchorClick = class::nativeObject_AnchorClick
endwith
*/
// Occurs when an anchor element is clicked.
function nativeObject_AnchorClick(AnchorID,Options)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	? Str(AnchorID) 
return

local h,oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = true
oGrid.TreeColumnIndex = -1
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
oGrid.BackColorAlternate = 0xf0f0f0
oGrid.ShowFocusRect = false
oGrid.Columns.Add("Default")
var_Items = oGrid.Items
	var_Items.AddItem("before item")
	h = var_Items.AddItem("<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4AjMGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEBA==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DABvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>▲</a><br>+ withdraw(amount: Currency)")
	// var_Items.CellValueFormat(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 1]
	endwith
	// var_Items.CellSingleLine(h,0) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = False]
	endwith
	var_Items.AddItem("after item")
oGrid.EndUpdate()

1192
Expandable-caption

local h,oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = true
oGrid.TreeColumnIndex = -1
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
oGrid.BackColorAlternate = 0xf0f0f0
oGrid.ShowFocusRect = false
oGrid.Columns.Add("Default")
var_Items = oGrid.Items
	var_Items.AddItem("before item")
	h = var_Items.AddItem("<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3")
	// var_Items.CellValueFormat(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 1]
	endwith
	// var_Items.CellSingleLine(h,0) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = False]
	endwith
	var_Items.AddItem("after item")
oGrid.EndUpdate()

1191
Force hover-all feature
local oGrid

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.Template = [Background(500) = -1] // oGrid.Background(500) = -1

1190
Disable hover-all feature (Windows 11 or greater)
local oGrid

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.Template = [Background(500) = 1] // oGrid.Background(500) = 0x1

1189
Display a custom tooltip
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.ShowToolTip("new content","",null,"+8","+8")
return

local oGrid

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject

1188
Shows the tooltip of the object moved relative to its default position
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.ShowToolTip("<null>","<null>",null,"+8","+8")
return

local oGrid,var_Column

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.ColumnAutoResize = false
// oGrid.Columns.Add("tootip").ToolTip = "this is a tooltip assigned to a column"
var_Column = oGrid.Columns.Add("tootip")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.ToolTip = "this is a tooltip assigned to a column"]
endwith

1187
Delete all records
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local cmd
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	cmd = new OleAutoClient("ADODB.Command")
		cmd.ActiveConnection = oGrid.DataSource.ActiveConnection
		cmd.CommandText = "Delete * from ORDERS"
		cmd.CommandType = 1
		cmd.Execute()
	oGrid.DataSource.Requery()
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// Fired when an internal error occurs.
function nativeObject_Error(Error,Description)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	? Str(Description) 
return

local h,oGrid,rs,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.ColumnAutoResize = false
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",1,3)
oGrid.DataSource = rs
// oGrid.ConditionalFormats.Add("%1=12345").BackColor = 0xf0f0f0
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%1=12345")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.BackColor = 15790320]
endwith
var_Items = oGrid.Items
	// var_Items.LockedItemCount(0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	h = var_Items.LockedItem(0,0)
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.CellHasButton(h,0) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHasButton(h,0) = True]
	endwith
	// var_Items.CellValue(h,0) = "Requery (delete all records, using ADODB.Command)"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,0) = "Requery (delete all records, using ADODB.Command)"]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
oGrid.EndUpdate()

1186
How can I get a cell that shows the sum of a column of minutes in hours + minutes format

local h,oGrid,var_Column,var_Editor,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
var_Column = oGrid.Columns.Add("Minutes")
	var_Column.SortType = 1
	var_Editor = var_Column.Editor
		var_Editor.EditType = 1
		var_Editor.Numeric = -1
var_Items = oGrid.Items
	var_Items.AddItem(10)
	var_Items.AddItem(20)
	var_Items.AddItem(30)
	var_Items.AddItem(40)
	var_Items.AddItem(50)
	h = var_Items.AddItem("sum(all,dir,dbl(%0))")
	// var_Items.SelectableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.SortableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SortableItem(h) = False]
	endwith
	// var_Items.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 5]
	endwith
	// var_Items.CellHAlignment(h,0) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 2]
	endwith
	// var_Items.FormatCell(h,0) = "'<b>HH:NN</b>: '+ (int(value/60) lpad '00') + ':' + ((value mod 60) lpad '00')"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "'<b>HH:NN</b>: '+ (int(value/60) lpad '00') + ':' + ((value mod 60) lpad '00')"]
	endwith
oGrid.EndUpdate()

1185
Highlight the match once the filter is applied

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Occurs when filter was changed.
function nativeObject_FilterChange()
	local format
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	format = oGrid.FormatABC("`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",oGrid.FilterBarPromptPattern)
	oGrid.Columns.Item(0).FormatColumn = Str(format)
	oGrid.Columns.Item(1).FormatColumn = Str(format)
	oGrid.Columns.Item(2).FormatColumn = Str(format)
return

local h0,oGrid,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.SelBackColor = oGrid.BackColor
oGrid.SelForeColor = oGrid.ForeColor
oGrid.ColumnAutoResize = true
oGrid.ContinueColumnScroll = false
oGrid.MarkSearchColumn = false
oGrid.SearchColumnIndex = 1
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 23
oGrid.BackColorLevelHeader = oGrid.BackColor
oGrid.FilterBarCaption = "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
oGrid.FilterBarPromptVisible = 2055 /*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
oGrid.FilterBarBackColor = oGrid.BackColor
oGrid.FilterBarPromptPattern = "and"
var_Columns = oGrid.Columns
	var_Column = var_Columns.Add("Name")
		// var_Column.Def(17) = 1
		with (oGrid)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(17) = 1]
		endwith
		var_Column.FormatColumn = "lower(value)"
	var_Column1 = var_Columns.Add("Title")
		// var_Column1.Def(17) = 1
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(17) = 1]
		endwith
		var_Column1.FormatColumn = "lower(value)"
	var_Column2 = var_Columns.Add("City")
		// var_Column2.Def(17) = 1
		with (oGrid)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(17) = 1]
		endwith
		var_Column2.FormatColumn = "lower(value)"
var_Items = oGrid.Items
	h0 = var_Items.AddItem("Nancy Davolio")
	// var_Items.CellValue(h0,1) = "Sales Representative"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellValue(h0,2) = "Seattle"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "Seattle"]
	endwith
	h0 = var_Items.AddItem("Andrew Fuller")
	// var_Items.CellValue(h0,1) = "Vice President, Sales"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Vice President, Sales"]
	endwith
	// var_Items.CellValue(h0,2) = "Tacoma"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "Tacoma"]
	endwith
	// var_Items.SelectItem(h0) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.SelectItem(h0) = 1]
	endwith
	h0 = var_Items.AddItem("Janet Leverling")
	// var_Items.CellValue(h0,1) = "Sales Representative"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellValue(h0,2) = "Kirkland"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "Kirkland"]
	endwith
	h0 = var_Items.AddItem("Margaret Peacock")
	// var_Items.CellValue(h0,1) = "Sales Representative"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellValue(h0,2) = "Redmond"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "Redmond"]
	endwith
	h0 = var_Items.AddItem("Steven Buchanan")
	// var_Items.CellValue(h0,1) = "Sales Manager"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Sales Manager"]
	endwith
	// var_Items.CellValue(h0,2) = "London"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "London"]
	endwith
	h0 = var_Items.AddItem("Michael Suyama")
	// var_Items.CellValue(h0,1) = "Sales Representative"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellValue(h0,2) = "London"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "London"]
	endwith
	h0 = var_Items.AddItem("Robert King")
	// var_Items.CellValue(h0,1) = "Sales Representative"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellValue(h0,2) = "London"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "London"]
	endwith
	h0 = var_Items.AddItem("Laura Callahan")
	// var_Items.CellValue(h0,1) = "Inside Sales Coordinator"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Inside Sales Coordinator"]
	endwith
	// var_Items.CellValue(h0,2) = "Seattle"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "Seattle"]
	endwith
	h0 = var_Items.AddItem("Anne Dodsworth")
	// var_Items.CellValue(h0,1) = "Sales Representative"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellValue(h0,2) = "London"
	with (oGrid)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,2) = "London"]
	endwith
oGrid.EndUpdate()

1184
The count of filtered items includes the group-parents. How can I exclude them from count

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.DrawGridLines = 2
oGrid.HeaderAppearance = 1
oGrid.HeaderHeight = 24
oGrid.SortBarHeight = 28
oGrid.SortBarVisible = true
oGrid.AllowGroupBy = true
oGrid.Columns.Add("Col 1")
oGrid.Columns.Add("Col 2")
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem("219 Smith"),1) = "Ignacio 1234"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("219 Smith"),1) = "Ignacio 1234"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("1666 County Road 309A"),1) = "897 Manassa"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("1666 County Road 309A"),1) = "897 Manassa"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("38 Lone Pine"),1) = "Durango 11"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("38 Lone Pine"),1) = "Durango 11"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("612 Jachim Street"),1) = "Lamar 222"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("612 Jachim Street"),1) = "Lamar 222"]
	endwith
oGrid.Layout = "MultipleSort=" + ["] + "C1:1" + ["] + ""
oGrid.FilterBarCaption = "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? leafitemcount + ` result(s)` : ``)"
oGrid.FilterBarPromptVisible = 2055 /*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
oGrid.FilterBarPromptType = 257 /*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/
oGrid.FilterBarPromptPattern = "12"
oGrid.FilterBarBackColor = oGrid.BackColor
oGrid.EndUpdate()

1183
Is it possible to display the count of filtered items

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.DrawGridLines = 2
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
oGrid.Columns.Add("Col 1")
oGrid.Columns.Add("Col 2")
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem("219 Smith"),1) = "Ignacio 1234"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("219 Smith"),1) = "Ignacio 1234"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("1666 County Road 309A"),1) = "897 Manassa"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("1666 County Road 309A"),1) = "897 Manassa"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("38 Lone Pine"),1) = "Durango 11"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("38 Lone Pine"),1) = "Durango 11"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("612 Jachim Street"),1) = "Lamar 222"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("612 Jachim Street"),1) = "Lamar 222"]
	endwith
oGrid.FilterBarCaption = "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
oGrid.FilterBarPromptVisible = 2055 /*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
oGrid.FilterBarPromptType = 257 /*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/
oGrid.FilterBarPromptPattern = "12"
oGrid.FilterBarBackColor = oGrid.BackColor
oGrid.EndUpdate()

1182
GroupBy code

local oGrid,rs

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.ContinueColumnScroll = false
oGrid.CountLockedColumns = 1
oGrid.BackColorLock = 0xf8f8f8
oGrid.HasLines = 1
oGrid.LinesAtRoot = 5
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3)
oGrid.DataSource = rs
oGrid.SortBarVisible = true
oGrid.SingleSort = false
oGrid.AllowGroupBy = true
oGrid.Columns.Item(0).Width = 128
oGrid.Layout = "MultipleSort = " + ["] + "C12:1 C1:2" + ["] + ""
oGrid.EndUpdate()

1181
ADOR, MDB (JET)
local oGrid,rs

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3)
oGrid.DataSource = rs
oGrid.EndUpdate()

1180
Editors (ImageSize = 32)

local h,oGrid,var_Appearance,var_Column,var_Editor,var_Editor1,var_Editor10,var_Editor11,var_Editor12,var_Editor13,var_Editor14,var_Editor15,var_Editor16,var_Editor17,var_Editor18,var_Editor19,var_Editor2,var_Editor20,var_Editor21,var_Editor22,var_Editor23,var_Editor24,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Editor9,var_Items,var_Object

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ImageSize = 32
oGrid.DefaultItemHeight = 36
oGrid.HeaderHeight = oGrid.DefaultItemHeight
oGrid.SortBarHeight = oGrid.DefaultItemHeight
oGrid.Font.Size = 16
oGrid.FilterBarFont.Size = oGrid.Font.Size
oGrid.ToolTipFont.Size = oGrid.Font.Size
oGrid.Indent = 26
oGrid.Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIk" ;
 +"FgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/XioW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVDNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" &
 +"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWRJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" ;
 +"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaD" ;
 +"RDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" &
 +"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBt" &
 +"YQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSeQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMa" ;
 +"J9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" &
 +"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjVHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBs" &
 +"H0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oGrid.BackColorHeader = 0x4c6c6c6
oGrid.SelBackColor = 0x4000000
oGrid.SelForeColor = 0x10000
oGrid.ShowFocusRect = false
oGrid.Template = [CheckImage(0) = 16777216] // oGrid.CheckImage(0) = 16777216
oGrid.Template = [CheckImage(1) = 33554432] // oGrid.CheckImage(1) = 33554432
oGrid.Template = [CheckImage(2) = 50331648] // oGrid.CheckImage(2) = 50331648
// oGrid.Columns.Add("Editors").Def(17) = 1
var_Column = oGrid.Columns.Add("Editors")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(17) = 1]
endwith
var_Items = oGrid.Items
	// var_Items.CellEditor(var_Items.AddItem("(ReadOnly)"),0).EditType = 0
	var_Editor = var_Items.CellEditor(var_Items.AddItem("(ReadOnly)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor]
		TemplateDef = var_Editor
		Template = [var_Editor.EditType = 0]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(EditType)"),0).EditType = 1
	var_Editor1 = var_Items.CellEditor(var_Items.AddItem("(EditType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor1]
		TemplateDef = var_Editor1
		Template = [var_Editor1.EditType = 1]
	endwith
	h = var_Items.AddItem("Value 1")
	var_Editor2 = var_Items.CellEditor(h,0)
		var_Editor2.EditType = 2
		var_Editor2.AddItem(1,"Value 1",1)
		var_Editor2.AddItem(2,"Value 2",2)
		var_Editor2.AddItem(3,"Value 3",3)
	// var_Items.FormatCell(h,0) = "value + ' (DropDownType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownType)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor3 = var_Items.CellEditor(h,0)
		var_Editor3.EditType = 3
		var_Editor3.DropDownAutoWidth = 0
		var_Editor3.AddItem(1,"Nancy Davolio",1)
		var_Editor3.AddItem(2,"Andrew Fuller",2)
		var_Editor3.AddItem(3,"Janet Leverling",3)
		var_Editor3.AddItem(4,"Peacock Margaret",3)
		var_Editor3.AddItem(5,"Steven Buchanan",2)
		var_Editor3.AddItem(6,"Michael Suyama",1)
		var_Editor3.AddItem(7,"Robert King",2)
		var_Editor3.AddItem(8,"Laura Callahan",3)
		var_Editor3.AddItem(9,"Anne Dodsworth",2)
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column list)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column list)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor4 = var_Items.CellEditor(h,0)
		var_Editor4.EditType = 3
		var_Editor4.DropDownAutoWidth = 0
		var_Editor4.AddItem(1,"Nancy Davolio",1)
		var_Editor4.AddItem(2,"Andrew Fuller",2)
		var_Editor4.InsertItem(3,"Janet Leverling",3,2)
		var_Editor4.InsertItem(4,"Peacock Margaret",3,2)
		var_Editor4.InsertItem(5,"Steven Buchanan",2,2)
		var_Editor4.InsertItem(6,"Michael Suyama",1,5)
		var_Editor4.InsertItem(7,"Robert King",2,2)
		var_Editor4.InsertItem(8,"Laura Callahan",3,2)
		var_Editor4.InsertItem(9,"Anne Dodsworth",2,5)
		var_Editor4.ExpandAll()
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column tree)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column tree)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor5 = var_Items.CellEditor(h,0)
		var_Editor5.EditType = 3
		var_Editor5.DropDownAutoWidth = 0
		// var_Editor5.Option(57) = "Name¦Title¦City¦Phone"
		with (oGrid)
			TemplateDef = [dim var_Editor5]
			TemplateDef = var_Editor5
			Template = [var_Editor5.Option(57) = "Name¦Title¦City¦Phone"]
		endwith
		// var_Editor5.Option(58) = "312¦¦¦96"
		with (oGrid)
			TemplateDef = [dim var_Editor5]
			TemplateDef = var_Editor5
			Template = [var_Editor5.Option(58) = "312¦¦¦96"]
		endwith
		var_Editor5.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor5.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor5.AddItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3)
		var_Editor5.AddItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3)
		var_Editor5.AddItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2)
		var_Editor5.AddItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1)
		var_Editor5.AddItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2)
		var_Editor5.AddItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3)
		var_Editor5.AddItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2)
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns list)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns list)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor6 = var_Items.CellEditor(h,0)
		var_Editor6.EditType = 3
		var_Editor6.DropDownAutoWidth = 0
		// var_Editor6.Option(57) = "Name¦Title¦City¦Phone"
		with (oGrid)
			TemplateDef = [dim var_Editor6]
			TemplateDef = var_Editor6
			Template = [var_Editor6.Option(57) = "Name¦Title¦City¦Phone"]
		endwith
		// var_Editor6.Option(58) = "312¦¦¦96"
		with (oGrid)
			TemplateDef = [dim var_Editor6]
			TemplateDef = var_Editor6
			Template = [var_Editor6.Option(58) = "312¦¦¦96"]
		endwith
		var_Editor6.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor6.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor6.InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3,2)
		var_Editor6.InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3,2)
		var_Editor6.InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2,2)
		var_Editor6.InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1,5)
		var_Editor6.InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2,2)
		var_Editor6.InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3,2)
		var_Editor6.InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2,5)
		var_Editor6.ExpandAll()
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns tree)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns tree)'"]
	endwith
	h = var_Items.AddItem(100)
	// var_Items.CellEditor(h,0).EditType = 4
	var_Editor7 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor7]
		TemplateDef = var_Editor7
		Template = [var_Editor7.EditType = 4]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (SpinType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (SpinType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(MemoType)"),0).EditType = 5
	var_Editor8 = var_Items.CellEditor(var_Items.AddItem("(MemoType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor8]
		TemplateDef = var_Editor8
		Template = [var_Editor8.EditType = 5]
	endwith
	h = var_Items.AddItem(3)
	var_Editor9 = var_Items.CellEditor(h,0)
		var_Editor9.EditType = 6
		var_Editor9.AddItem(1,"Border",1)
		var_Editor9.AddItem(2,"Single",2)
		var_Editor9.AddItem(4,"Frame",3)
	// var_Items.FormatCell(h,0) = "value + ' (CheckListType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (CheckListType)'"]
	endwith
	h = var_Items.AddItem("193.226.40.161")
	var_Editor10 = var_Items.CellEditor(h,0)
		var_Editor10.Mask = "{0,255}.{0,255}.{0,255}.{0,255}"
		var_Editor10.EditType = 8
	// var_Items.FormatCell(h,0) = "value + ' (MaskType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (MaskType)'"]
	endwith
	h = var_Items.AddItem(65280)
	var_Editor11 = var_Items.CellEditor(h,0)
		var_Editor11.EditType = 9
		var_Editor11.Mask = "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0"
	// var_Items.FormatCell(h,0) = "value + ' (ColorType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (ColorType)'"]
	endwith
	h = var_Items.AddItem("Tahoma")
	// var_Items.CellEditor(h,0).EditType = 10
	var_Editor12 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor12]
		TemplateDef = var_Editor12
		Template = [var_Editor12.EditType = 10]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (FontType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (FontType)'"]
	endwith
	h = var_Items.AddItem("gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamYyIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAwBUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABGQZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyC" ;
 +"AAjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFASoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJDQNg/p4AAdoC")
	// var_Items.CellEditor(h,0).EditType = 11
	var_Editor13 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor13]
		TemplateDef = var_Editor13
		Template = [var_Editor13.EditType = 11]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (PictureType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (PictureType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(ButtonType)"),0).EditType = 12
	var_Editor14 = var_Items.CellEditor(var_Items.AddItem("(ButtonType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor14]
		TemplateDef = var_Editor14
		Template = [var_Editor14.EditType = 12]
	endwith
	h = var_Items.AddItem(25)
	// var_Items.CellEditor(h,0).EditType = 13
	var_Editor15 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor15]
		TemplateDef = var_Editor15
		Template = [var_Editor15.EditType = 13]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (ProgressBarType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (ProgressBarType)'"]
	endwith
	h = var_Items.AddItem("Value 1")
	var_Editor16 = var_Items.CellEditor(h,0)
		var_Editor16.EditType = 14
		var_Editor16.AddItem(1,"Value 1",1)
		var_Editor16.AddItem(2,"Value 2",2)
		var_Editor16.AddItem(3,"Value 3",3)
	// var_Items.FormatCell(h,0) = "value + ' (PickEditType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (PickEditType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(LinkEditType)"),0).EditType = 15
	var_Editor17 = var_Items.CellEditor(var_Items.AddItem("(LinkEditType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor17]
		TemplateDef = var_Editor17
		Template = [var_Editor17.EditType = 15]
	endwith
	var_Editor18 = var_Items.CellEditor(var_Items.AddItem("(UserEditorType)"),0)
		var_Editor18.EditType = 16
		var_Editor18.UserEditor("Exontrol.ComboBox","")
		var_Object = var_Editor18.UserEditorObject
	h = var_Items.AddItem(255)
	var_Editor19 = var_Items.CellEditor(h,0)
		var_Editor19.EditType = 17
		// var_Editor19.Option(4) = true
		with (oGrid)
			TemplateDef = [dim var_Editor19]
			TemplateDef = var_Editor19
			Template = [var_Editor19.Option(4) = True]
		endwith
	// var_Items.FormatCell(h,0) = "value + ' (ColorListType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (ColorListType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem(65280),0).EditType = 17
	var_Editor20 = var_Items.CellEditor(var_Items.AddItem(65280),0)
	with (oGrid)
		TemplateDef = [dim var_Editor20]
		TemplateDef = var_Editor20
		Template = [var_Editor20.EditType = 17]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(MemoDropDownType)"),0).EditType = 18
	var_Editor21 = var_Items.CellEditor(var_Items.AddItem("(MemoDropDownType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor21]
		TemplateDef = var_Editor21
		Template = [var_Editor21.EditType = 18]
	endwith
	var_Editor22 = var_Items.CellEditor(var_Items.AddItem(-1),0)
		var_Editor22.EditType = 19
		// var_Editor22.Option(17) = 1
		with (oGrid)
			TemplateDef = [dim var_Editor22]
			TemplateDef = var_Editor22
			Template = [var_Editor22.Option(17) = 1]
		endwith
	h = var_Items.AddItem(50)
	var_Editor23 = var_Items.CellEditor(h,0)
		var_Editor23.EditType = 20
		// var_Editor23.Option(41) = -60
		with (oGrid)
			TemplateDef = [dim var_Editor23]
			TemplateDef = var_Editor23
			Template = [var_Editor23.Option(41) = -60]
		endwith
		// var_Editor23.Option(53) = 10
		with (oGrid)
			TemplateDef = [dim var_Editor23]
			TemplateDef = var_Editor23
			Template = [var_Editor23.Option(53) = 10]
		endwith
		// var_Editor23.Option(63) = 2
		with (oGrid)
			TemplateDef = [dim var_Editor23]
			TemplateDef = var_Editor23
			Template = [var_Editor23.Option(63) = 2]
		endwith
	// var_Items.FormatCell(h,0) = "value + ' (SliderType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (SliderType)'"]
	endwith
	h = var_Items.AddItem(100)
	// var_Items.CellEditor(h,0).EditType = 21
	var_Editor24 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor24]
		TemplateDef = var_Editor24
		Template = [var_Editor24.EditType = 21]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (CalculatorType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (CalculatorType)'"]
	endwith
	var_Items.EnsureVisibleItem(h)
oGrid.EndUpdate()

1179
Editors (ImageSize = 16, default)

local h,oGrid,var_Appearance,var_Column,var_Editor,var_Editor1,var_Editor10,var_Editor11,var_Editor12,var_Editor13,var_Editor14,var_Editor15,var_Editor16,var_Editor17,var_Editor18,var_Editor19,var_Editor2,var_Editor20,var_Editor21,var_Editor22,var_Editor23,var_Editor24,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Editor9,var_Items,var_Object

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ImageSize = 16
oGrid.Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
// oGrid.Columns.Add("Editors").Def(17) = 1
var_Column = oGrid.Columns.Add("Editors")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(17) = 1]
endwith
oGrid.BackColorHeader = 0x4c6c6c6
var_Items = oGrid.Items
	// var_Items.CellEditor(var_Items.AddItem("(ReadOnly)"),0).EditType = 0
	var_Editor = var_Items.CellEditor(var_Items.AddItem("(ReadOnly)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor]
		TemplateDef = var_Editor
		Template = [var_Editor.EditType = 0]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(EditType)"),0).EditType = 1
	var_Editor1 = var_Items.CellEditor(var_Items.AddItem("(EditType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor1]
		TemplateDef = var_Editor1
		Template = [var_Editor1.EditType = 1]
	endwith
	h = var_Items.AddItem("Value 1")
	var_Editor2 = var_Items.CellEditor(h,0)
		var_Editor2.EditType = 2
		var_Editor2.AddItem(1,"Value 1",1)
		var_Editor2.AddItem(2,"Value 2",2)
		var_Editor2.AddItem(3,"Value 3",3)
	// var_Items.FormatCell(h,0) = "value + ' (DropDownType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownType)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor3 = var_Items.CellEditor(h,0)
		var_Editor3.EditType = 3
		var_Editor3.DropDownAutoWidth = 0
		var_Editor3.AddItem(1,"Nancy Davolio",1)
		var_Editor3.AddItem(2,"Andrew Fuller",2)
		var_Editor3.AddItem(3,"Janet Leverling",3)
		var_Editor3.AddItem(4,"Peacock Margaret",3)
		var_Editor3.AddItem(5,"Steven Buchanan",2)
		var_Editor3.AddItem(6,"Michael Suyama",1)
		var_Editor3.AddItem(7,"Robert King",2)
		var_Editor3.AddItem(8,"Laura Callahan",3)
		var_Editor3.AddItem(9,"Anne Dodsworth",2)
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column list)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column list)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor4 = var_Items.CellEditor(h,0)
		var_Editor4.EditType = 3
		var_Editor4.DropDownAutoWidth = 0
		var_Editor4.AddItem(1,"Nancy Davolio",1)
		var_Editor4.AddItem(2,"Andrew Fuller",2)
		var_Editor4.InsertItem(3,"Janet Leverling",3,2)
		var_Editor4.InsertItem(4,"Peacock Margaret",3,2)
		var_Editor4.InsertItem(5,"Steven Buchanan",2,2)
		var_Editor4.InsertItem(6,"Michael Suyama",1,5)
		var_Editor4.InsertItem(7,"Robert King",2,2)
		var_Editor4.InsertItem(8,"Laura Callahan",3,2)
		var_Editor4.InsertItem(9,"Anne Dodsworth",2,5)
		var_Editor4.ExpandAll()
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column tree)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - single column tree)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor5 = var_Items.CellEditor(h,0)
		var_Editor5.EditType = 3
		var_Editor5.DropDownAutoWidth = 0
		// var_Editor5.Option(57) = "Name¦Title¦City¦Phone"
		with (oGrid)
			TemplateDef = [dim var_Editor5]
			TemplateDef = var_Editor5
			Template = [var_Editor5.Option(57) = "Name¦Title¦City¦Phone"]
		endwith
		// var_Editor5.Option(58) = "312¦¦¦96"
		with (oGrid)
			TemplateDef = [dim var_Editor5]
			TemplateDef = var_Editor5
			Template = [var_Editor5.Option(58) = "312¦¦¦96"]
		endwith
		var_Editor5.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor5.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor5.AddItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3)
		var_Editor5.AddItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3)
		var_Editor5.AddItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2)
		var_Editor5.AddItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1)
		var_Editor5.AddItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2)
		var_Editor5.AddItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3)
		var_Editor5.AddItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2)
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns list)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns list)'"]
	endwith
	h = var_Items.AddItem(1)
	var_Editor6 = var_Items.CellEditor(h,0)
		var_Editor6.EditType = 3
		var_Editor6.DropDownAutoWidth = 0
		// var_Editor6.Option(57) = "Name¦Title¦City¦Phone"
		with (oGrid)
			TemplateDef = [dim var_Editor6]
			TemplateDef = var_Editor6
			Template = [var_Editor6.Option(57) = "Name¦Title¦City¦Phone"]
		endwith
		// var_Editor6.Option(58) = "312¦¦¦96"
		with (oGrid)
			TemplateDef = [dim var_Editor6]
			TemplateDef = var_Editor6
			Template = [var_Editor6.Option(58) = "312¦¦¦96"]
		endwith
		var_Editor6.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor6.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor6.InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3,2)
		var_Editor6.InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3,2)
		var_Editor6.InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2,2)
		var_Editor6.InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1,5)
		var_Editor6.InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2,2)
		var_Editor6.InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3,2)
		var_Editor6.InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2,5)
		var_Editor6.ExpandAll()
	// var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns tree)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (DropDownList - multiple columns tree)'"]
	endwith
	h = var_Items.AddItem(100)
	// var_Items.CellEditor(h,0).EditType = 4
	var_Editor7 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor7]
		TemplateDef = var_Editor7
		Template = [var_Editor7.EditType = 4]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (SpinType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (SpinType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(MemoType)"),0).EditType = 5
	var_Editor8 = var_Items.CellEditor(var_Items.AddItem("(MemoType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor8]
		TemplateDef = var_Editor8
		Template = [var_Editor8.EditType = 5]
	endwith
	h = var_Items.AddItem(3)
	var_Editor9 = var_Items.CellEditor(h,0)
		var_Editor9.EditType = 6
		var_Editor9.AddItem(1,"Border",1)
		var_Editor9.AddItem(2,"Single",2)
		var_Editor9.AddItem(4,"Frame",3)
	// var_Items.FormatCell(h,0) = "value + ' (CheckListType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (CheckListType)'"]
	endwith
	h = var_Items.AddItem("193.226.40.161")
	var_Editor10 = var_Items.CellEditor(h,0)
		var_Editor10.Mask = "{0,255}.{0,255}.{0,255}.{0,255}"
		var_Editor10.EditType = 8
	// var_Items.FormatCell(h,0) = "value + ' (MaskType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (MaskType)'"]
	endwith
	h = var_Items.AddItem(65280)
	var_Editor11 = var_Items.CellEditor(h,0)
		var_Editor11.EditType = 9
		var_Editor11.Mask = "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0"
	// var_Items.FormatCell(h,0) = "value + ' (ColorType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (ColorType)'"]
	endwith
	h = var_Items.AddItem("Tahoma")
	// var_Items.CellEditor(h,0).EditType = 10
	var_Editor12 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor12]
		TemplateDef = var_Editor12
		Template = [var_Editor12.EditType = 10]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (FontType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (FontType)'"]
	endwith
	h = var_Items.AddItem("gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamYyIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAwBUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABGQZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyC" ;
 +"AAjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFASoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJDQNg/p4AAdoC")
	// var_Items.CellEditor(h,0).EditType = 11
	var_Editor13 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor13]
		TemplateDef = var_Editor13
		Template = [var_Editor13.EditType = 11]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (PictureType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (PictureType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(ButtonType)"),0).EditType = 12
	var_Editor14 = var_Items.CellEditor(var_Items.AddItem("(ButtonType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor14]
		TemplateDef = var_Editor14
		Template = [var_Editor14.EditType = 12]
	endwith
	h = var_Items.AddItem(25)
	// var_Items.CellEditor(h,0).EditType = 13
	var_Editor15 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor15]
		TemplateDef = var_Editor15
		Template = [var_Editor15.EditType = 13]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (ProgressBarType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (ProgressBarType)'"]
	endwith
	h = var_Items.AddItem("Value 1")
	var_Editor16 = var_Items.CellEditor(h,0)
		var_Editor16.EditType = 14
		var_Editor16.AddItem(1,"Value 1",1)
		var_Editor16.AddItem(2,"Value 2",2)
		var_Editor16.AddItem(3,"Value 3",3)
	// var_Items.FormatCell(h,0) = "value + ' (PickEditType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (PickEditType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(LinkEditType)"),0).EditType = 15
	var_Editor17 = var_Items.CellEditor(var_Items.AddItem("(LinkEditType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor17]
		TemplateDef = var_Editor17
		Template = [var_Editor17.EditType = 15]
	endwith
	var_Editor18 = var_Items.CellEditor(var_Items.AddItem("(UserEditorType)"),0)
		var_Editor18.EditType = 16
		var_Editor18.UserEditor("Exontrol.ComboBox","")
		var_Object = var_Editor18.UserEditorObject
	h = var_Items.AddItem(255)
	var_Editor19 = var_Items.CellEditor(h,0)
		var_Editor19.EditType = 17
		// var_Editor19.Option(4) = true
		with (oGrid)
			TemplateDef = [dim var_Editor19]
			TemplateDef = var_Editor19
			Template = [var_Editor19.Option(4) = True]
		endwith
	// var_Items.FormatCell(h,0) = "value + ' (ColorListType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (ColorListType)'"]
	endwith
	// var_Items.CellEditor(var_Items.AddItem(65280),0).EditType = 17
	var_Editor20 = var_Items.CellEditor(var_Items.AddItem(65280),0)
	with (oGrid)
		TemplateDef = [dim var_Editor20]
		TemplateDef = var_Editor20
		Template = [var_Editor20.EditType = 17]
	endwith
	// var_Items.CellEditor(var_Items.AddItem("(MemoDropDownType)"),0).EditType = 18
	var_Editor21 = var_Items.CellEditor(var_Items.AddItem("(MemoDropDownType)"),0)
	with (oGrid)
		TemplateDef = [dim var_Editor21]
		TemplateDef = var_Editor21
		Template = [var_Editor21.EditType = 18]
	endwith
	var_Editor22 = var_Items.CellEditor(var_Items.AddItem(-1),0)
		var_Editor22.EditType = 19
		// var_Editor22.Option(17) = 1
		with (oGrid)
			TemplateDef = [dim var_Editor22]
			TemplateDef = var_Editor22
			Template = [var_Editor22.Option(17) = 1]
		endwith
	h = var_Items.AddItem(50)
	var_Editor23 = var_Items.CellEditor(h,0)
		var_Editor23.EditType = 20
		// var_Editor23.Option(41) = -60
		with (oGrid)
			TemplateDef = [dim var_Editor23]
			TemplateDef = var_Editor23
			Template = [var_Editor23.Option(41) = -60]
		endwith
		// var_Editor23.Option(53) = 10
		with (oGrid)
			TemplateDef = [dim var_Editor23]
			TemplateDef = var_Editor23
			Template = [var_Editor23.Option(53) = 10]
		endwith
		// var_Editor23.Option(63) = 2
		with (oGrid)
			TemplateDef = [dim var_Editor23]
			TemplateDef = var_Editor23
			Template = [var_Editor23.Option(63) = 2]
		endwith
	// var_Items.FormatCell(h,0) = "value + ' (SliderType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (SliderType)'"]
	endwith
	h = var_Items.AddItem(100)
	// var_Items.CellEditor(h,0).EditType = 21
	var_Editor24 = var_Items.CellEditor(h,0)
	with (oGrid)
		TemplateDef = [dim var_Editor24]
		TemplateDef = var_Editor24
		Template = [var_Editor24.EditType = 21]
	endwith
	// var_Items.FormatCell(h,0) = "value + ' (CalculatorType)'"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,0) = "value + ' (CalculatorType)'"]
	endwith
	var_Items.EnsureVisibleItem(h)
oGrid.EndUpdate()

1178
Re-order the cell's caption, icons and images/pictures

local h,oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.Images("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDcD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB")
var_Column = oGrid.Columns.Add("ToLeft")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
var_Column1 = oGrid.Columns.Add("ToRight")
	// var_Column1.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(0) = True]
	endwith
	// var_Column1.Def(34) = "caption,picture,icons,icon,check"
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(34) = "caption,picture,icons,icon,check"]
	endwith
oGrid.DefaultItemHeight = 32
oGrid.DrawGridLines = 2
oGrid.HeaderAppearance = 4
var_Items = oGrid.Items
	h = var_Items.AddItem("Caption")
	// var_Items.CellImage(h,0) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,0) = 2]
	endwith
	// var_Items.CellImages(h,0) = "1,2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,0) = "1,2"]
	endwith
	// var_Items.CellPicture(h,0) = oGrid.ExecuteTemplate("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsGL2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7FXI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FCjVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4wG8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQJAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZe" ;
 +"nEVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFpTheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siqbZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxXhIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DPH8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAmBgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCM" &
 +"EgSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByjJGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0WgLhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHCBwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0" &
 +"FqGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdguhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGUSNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhAFaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZQS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gm" &
 +"iXE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAYAah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARASA/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AIBdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAdAcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJB" &
 +"PhSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAhhLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBvgjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAGhvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sUhMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4A" &
 +"fgZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xMhgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBWhFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagxAkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9BtnWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqB" &
 +"UgphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAjAjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihFh7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAuAXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAFBNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhch" &
 +"ug3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQAcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhTg9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5WgZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAkgqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgqgqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyh" &
 +"VgmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBWh3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAGAshzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOrC0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTWP1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8" &
 +"PiPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLCs8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyDQCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOApDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)")
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,0) = Me.ExecuteTemplate("loadpicture(`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`)")]
	endwith
	// var_Items.CellValue(h,1) = var_Items.CellValue(h,0)
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = CellValue(h,0)]
	endwith
	// var_Items.CellHAlignment(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,1) = 2]
	endwith
	// var_Items.CellImage(h,1) = var_Items.CellImage(h,0)
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,1) = CellImage(h,0)]
	endwith
	// var_Items.CellImages(h,1) = "2,1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,1) = "2,1"]
	endwith
	// var_Items.CellPicture(h,1) = var_Items.CellPicture(h,0)
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,1) = CellPicture(h,0)]
	endwith
	h = var_Items.AddItem("<b>HTML</b> <off 4>Caption")
	// var_Items.CellValueFormat(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 1]
	endwith
	// var_Items.CellImage(h,0) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,0) = 2]
	endwith
	// var_Items.CellImages(h,0) = "1,2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,0) = "1,2"]
	endwith
	// var_Items.CellPicture(h,0) = oGrid.ExecuteTemplate("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsGL2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7FXI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FCjVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4wG8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQJAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZe" ;
 +"nEVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFpTheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siqbZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxXhIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DPH8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAmBgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCM" &
 +"EgSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByjJGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0WgLhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHCBwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0" &
 +"FqGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdguhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGUSNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhAFaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZQS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gm" &
 +"iXE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAYAah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARASA/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AIBdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAdAcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJB" &
 +"PhSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAhhLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBvgjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAGhvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sUhMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4A" &
 +"fgZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xMhgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBWhFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagxAkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9BtnWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqB" &
 +"UgphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAjAjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihFh7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAuAXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAFBNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhch" &
 +"ug3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQAcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhTg9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5WgZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAkgqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgqgqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyh" &
 +"VgmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBWh3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAGAshzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOrC0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTWP1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8" &
 +"PiPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLCs8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyDQCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOApDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)")
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,0) = Me.ExecuteTemplate("loadpicture(`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`)")]
	endwith
	// var_Items.CellValue(h,1) = var_Items.CellValue(h,0)
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = CellValue(h,0)]
	endwith
	// var_Items.CellValueFormat(h,1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,1) = 1]
	endwith
	// var_Items.CellHAlignment(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,1) = 2]
	endwith
	// var_Items.CellImage(h,1) = var_Items.CellImage(h,0)
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,1) = CellImage(h,0)]
	endwith
	// var_Items.CellImages(h,1) = "2,1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,1) = "2,1"]
	endwith
	// var_Items.CellPicture(h,1) = var_Items.CellPicture(h,0)
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,1) = CellPicture(h,0)]
	endwith
oGrid.EndUpdate()

1177
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(48) = 2 */
	/* Column.Def(49) = 2 */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
return

local h,hR,oGrid,var_Appearance,var_Column,var_Column1,var_Column2,var_Column3,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ImageSize = 32
oGrid.DefaultItemHeight = 36
oGrid.HeaderHeight = oGrid.DefaultItemHeight
oGrid.SortBarHeight = oGrid.DefaultItemHeight
oGrid.Font.Size = 16
oGrid.FilterBarFont.Size = oGrid.Font.Size
oGrid.ToolTipFont.Size = oGrid.Font.Size
oGrid.Indent = 26
oGrid.Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIk" ;
 +"FgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/XioW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVDNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" &
 +"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWRJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" ;
 +"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaD" ;
 +"RDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" &
 +"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBt" &
 +"YQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSeQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMa" ;
 +"J9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" &
 +"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjVHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBs" &
 +"H0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oGrid.BackColorHeader = 0x4c6c6c6
oGrid.SelBackColor = 0x4000000
oGrid.SelForeColor = 0x10000
oGrid.Template = [CheckImage(0) = 16777216] // oGrid.CheckImage(0) = 16777216
oGrid.Template = [CheckImage(1) = 33554432] // oGrid.CheckImage(1) = 33554432
oGrid.Template = [CheckImage(2) = 50331648] // oGrid.CheckImage(2) = 50331648
oGrid.Template = [Background(20) = SelBackColor] // oGrid.Background(20) = oGrid.SelBackColor
oGrid.Template = [Background(21) = SelForeColor] // oGrid.Background(21) = oGrid.SelForeColor
oGrid.Template = [Background(26) = BackColor] // oGrid.Background(26) = oGrid.BackColor
oGrid.Template = [Background(27) = ForeColor] // oGrid.Background(27) = oGrid.ForeColor
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.Template = [Background(0) = 67108864] // oGrid.Background(0) = 0x4000000
oGrid.Template = [Background(41) = 67174657] // oGrid.Background(41) = 0x4010101
oGrid.Template = [Background(1) = 67109119] // oGrid.Background(1) = 0x40000ff
oGrid.HeaderAppearance = 4
oGrid.ShowFocusRect = false
oGrid.SortBarVisible = true
oGrid.AllowGroupBy = true
oGrid.BackColorSortBar = oGrid.BackColor
oGrid.BackColorLevelHeader = oGrid.BackColor
oGrid.FilterBarDropDownHeight = 1
var_Column = oGrid.Columns.Add("Check")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	var_Column.Width = 128
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 256
var_Column1 = oGrid.Columns.Add("Pos")
	var_Column1.FormatColumn = "1 pos ``"
	var_Column1.AllowSort = false
	var_Column1.Width = 48
	var_Column1.AllowSizing = false
	var_Column1.Alignment = 1
	var_Column1.HeaderAlignment = 1
var_Column2 = oGrid.Columns.Add("Image")
	var_Column2.DisplayFilterButton = true
	var_Column2.FilterList = 8480 /*exShowExclude | exShowCheckBox | exSortItemsAsc*/
	var_Column2.FilterType = 10
	var_Column2.DisplayExpandButton = true
	var_Column2.ExpandColumns = "1,2,3"
	var_Column2.Width = 128
	var_Column2.HeaderImage = 1
var_Column3 = oGrid.Columns.Add("Images")
	// var_Column3.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column3]
		TemplateDef = var_Column3
		Template = [var_Column3.Def(0) = True]
	endwith
	var_Column3.Width = 196
	var_Column3.HTMLCaption = "<img>1</img><img>2</img><img>3</img> Images"
oGrid.Columns.Item("Pos").Position = 3
var_Items = oGrid.Items
	hR = var_Items.AddItem("Root")
	// var_Items.ItemDivider(hR) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDivider(hR) = 0]
	endwith
	// var_Items.ItemDividerLine(hR) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDividerLine(hR) = 0]
	endwith
	h = var_Items.InsertItem(hR,null,"Child A")
	// var_Items.CellImage(h,2) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 1]
	endwith
	// var_Items.CellImages(h,3) = "1,2,3"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "1,2,3"]
	endwith
	// var_Items.CellValue(h,3) = "123"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,3) = "123"]
	endwith
	h = var_Items.InsertItem(hR,null,"Child B")
	// var_Items.CellState(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,0) = 1]
	endwith
	// var_Items.CellImage(h,2) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 3]
	endwith
	// var_Items.CellImages(h,3) = "2,3,1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "2,3,1"]
	endwith
	// var_Items.CellValue(h,3) = "231"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,3) = "231"]
	endwith
	// var_Items.SelectItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectItem(h) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Child C")
	// var_Items.CellImage(h,2) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 2]
	endwith
	// var_Items.CellState(h,3) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,3) = 1]
	endwith
	// var_Items.CellValue(h,3) = "312"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,3) = "312"]
	endwith
	// var_Items.CellImages(h,3) = "3,1,2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "3,1,2"]
	endwith
	// var_Items.ExpandItem(hR) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ExpandItem(hR) = True]
	endwith
oGrid.EndUpdate()

1176
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(48) = 2 */
	/* Column.Def(49) = 2 */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
return

local h,hR,oGrid,var_Appearance,var_Column,var_Column1,var_Column2,var_Column3,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ImageSize = 16
oGrid.Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oGrid.BackColorHeader = 0x4c6c6c6
oGrid.SelBackColor = 0x4000000
oGrid.SelForeColor = 0x10000
oGrid.Template = [Background(20) = SelBackColor] // oGrid.Background(20) = oGrid.SelBackColor
oGrid.Template = [Background(21) = SelForeColor] // oGrid.Background(21) = oGrid.SelForeColor
oGrid.Template = [Background(26) = BackColor] // oGrid.Background(26) = oGrid.BackColor
oGrid.Template = [Background(27) = ForeColor] // oGrid.Background(27) = oGrid.ForeColor
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.Template = [Background(0) = 67108864] // oGrid.Background(0) = 0x4000000
oGrid.Template = [Background(41) = 67174657] // oGrid.Background(41) = 0x4010101
oGrid.Template = [Background(1) = 67109119] // oGrid.Background(1) = 0x40000ff
oGrid.HeaderAppearance = 4
oGrid.ShowFocusRect = false
oGrid.SortBarVisible = true
oGrid.AllowGroupBy = true
oGrid.BackColorSortBar = oGrid.BackColor
oGrid.BackColorLevelHeader = oGrid.BackColor
oGrid.FilterBarDropDownHeight = 1
var_Column = oGrid.Columns.Add("Check")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	var_Column.Width = 128
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 256
var_Column1 = oGrid.Columns.Add("Pos")
	var_Column1.FormatColumn = "1 pos ``"
	var_Column1.AllowSort = false
	var_Column1.Width = 48
	var_Column1.AllowSizing = false
	var_Column1.Alignment = 1
	var_Column1.HeaderAlignment = 1
var_Column2 = oGrid.Columns.Add("Image")
	var_Column2.DisplayFilterButton = true
	var_Column2.FilterList = 8480 /*exShowExclude | exShowCheckBox | exSortItemsAsc*/
	var_Column2.FilterType = 10
	var_Column2.DisplayExpandButton = true
	var_Column2.ExpandColumns = "1,2,3"
	var_Column2.Width = 128
	var_Column2.HeaderImage = 1
var_Column3 = oGrid.Columns.Add("Images")
	// var_Column3.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column3]
		TemplateDef = var_Column3
		Template = [var_Column3.Def(0) = True]
	endwith
	var_Column3.Width = 196
	var_Column3.HTMLCaption = "<img>1</img><img>2</img><img>3</img> Images"
oGrid.Columns.Item("Pos").Position = 3
var_Items = oGrid.Items
	hR = var_Items.AddItem("Root")
	// var_Items.ItemDivider(hR) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDivider(hR) = 0]
	endwith
	// var_Items.ItemDividerLine(hR) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDividerLine(hR) = 0]
	endwith
	h = var_Items.InsertItem(hR,null,"Child A")
	// var_Items.CellImage(h,2) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 1]
	endwith
	// var_Items.CellImages(h,3) = "1,2,3"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "1,2,3"]
	endwith
	// var_Items.CellValue(h,3) = "123"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,3) = "123"]
	endwith
	h = var_Items.InsertItem(hR,null,"Child B")
	// var_Items.CellState(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,0) = 1]
	endwith
	// var_Items.CellImage(h,2) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 3]
	endwith
	// var_Items.CellImages(h,3) = "2,3,1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "2,3,1"]
	endwith
	// var_Items.CellValue(h,3) = "231"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,3) = "231"]
	endwith
	// var_Items.SelectItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectItem(h) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Child C")
	// var_Items.CellImage(h,2) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 2]
	endwith
	// var_Items.CellState(h,3) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,3) = 1]
	endwith
	// var_Items.CellValue(h,3) = "312"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,3) = "312"]
	endwith
	// var_Items.CellImages(h,3) = "3,1,2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "3,1,2"]
	endwith
	// var_Items.ExpandItem(hR) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ExpandItem(hR) = True]
	endwith
oGrid.EndUpdate()

1175
The user clicks the drop-down filter, select a value and the control's list filters for the selected item(s). Is there a way for when the user then goes to the next column to add another filter and the drop down arrow is clicked for the list of values they can filter by to be limited to what is being displayed in the list due to the first filter they set

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
return

local oGrid,rs

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3)
oGrid.DataSource = rs
oGrid.Columns.Item("ShipVia").Position = 2
oGrid.EndUpdate()

1174
Does the control display images from database (ADO)

local oGrid,rs,var_Column

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
oGrid.DefaultItemHeight = 48
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3)
oGrid.DataSource = rs
var_Column = oGrid.Columns.Item("Photo")
	var_Column.Position = 1
	var_Column.Width = 128
oGrid.EndUpdate()

1173
Does the control display images from database (DAO)

local oGrid,rs,var_Column,var_PrivDBEngine

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
oGrid.DefaultItemHeight = 48
var_PrivDBEngine = new OleAutoClient("DAO.DBEngine.36")
	rs = var_PrivDBEngine.OpenDatabase("C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb").OpenRecordset("Employees")
oGrid.DataSource = rs
var_Column = oGrid.Columns.Item("Photo")
	var_Column.Position = 1
	var_Column.Width = 128
oGrid.EndUpdate()

1172
Is it possible to set from code, a column sort without being inserted in the sortbar

local oGrid,rs

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3)
oGrid.DataSource = rs
oGrid.SortBarVisible = true
oGrid.Layout = "singlesort=" + ["] + "C1:1" + ["] + ""
oGrid.EndUpdate()

1171
Is it possible to view all events the control fires
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Event = class::nativeObject_Event
endwith
*/
// Notifies the application once the control fires an event.
function nativeObject_Event(EventID)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	? Str(oGrid.EventParam(-2)) 
return

local h,hChild,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
var_Column = oGrid.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	// var_Column.Def(17) = 1
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
	var_Column.Editor.EditType = 1
oGrid.HeaderVisible = true
var_Items = oGrid.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oGrid.EndUpdate()

1170
How can I find all occurences of the giving value, within a column
local oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.Columns.Add("Default")
var_Column = oGrid.Columns.Add("Pos")
	var_Column.FormatColumn = "1 pos 'A-Z'"
	var_Column.Position = 0
	var_Column.AllowSizing = false
	var_Column.Width = 32
	var_Column.Enabled = false
var_Column1 = oGrid.Columns.Add("Index")
	var_Column1.FormatColumn = "0 index ''"
	var_Column1.AllowSizing = false
	var_Column1.Width = 32
	var_Column1.Enabled = false
var_Items = oGrid.Items
	var_Items.AddItem("A")
	var_Items.AddItem("A")
	var_Items.AddItem("A")
	? var_Items.CellCaption(var_Items.FindItem("A",0,0),1) 
	? var_Items.CellCaption(var_Items.FindItem("A",0,1),1) 
	? var_Items.CellCaption(var_Items.FindItem("A",0,2),1) 
oGrid.EndUpdate()

1169
How can I prevent expanding/collapsing the child items

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	BeforeExpandItem = class::nativeObject_BeforeExpandItem
endwith
*/
// Fired before an item is about to be expanded (collapsed).
function nativeObject_BeforeExpandItem(Item,Cancel)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	Cancel = oGrid.Items.ItemParent(Item)
return

local h,oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.SingleSel = false
oGrid.Columns.Add("Default")
oGrid.LinesAtRoot = -1
var_Items = oGrid.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(var_Items.InsertItem(h,null,"Child 1.1"),null,"Child")
	var_Items.InsertItem(h,null,"Child 1.2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(var_Items.InsertItem(h,null,"Child 2.1"),null,"Child")
	var_Items.InsertItem(h,null,"Child 2.2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oGrid.EndUpdate()

1168
How can I display the EBN bigger or smaller (thumb)

local oGrid,var_Appearance,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(1,"c:\exontrol\images\normal.ebn")
	var_Appearance.Add(10,"CP:1 0 3 0 -3")
	var_Appearance.Add(17,"CP:1 3 0 -3 0")
oGrid.Template = [Background(388) = 167772160] // oGrid.Background(388) = 0xa000000
oGrid.Template = [Background(260) = 285212672] // oGrid.Background(260) = 0x11000000
oGrid.ScrollBars = 3855 /*exVScrollEmptySpace | exHScrollEmptySpace | exVScrollOnThumbRelease | exHScrollOnThumbRelease | exDisableBoth*/
oGrid.ScrollBySingleLine = true
oGrid.Columns.Add("Def")
var_Items = oGrid.Items
	var_Items.AddItem(1)
	var_Items.AddItem(2)
	var_Items.AddItem(3)
oGrid.EndUpdate()

1167
I am using GroupBy feature to create a tree, but the top rows are aligned with the children, not indented. What could be wrong

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	/* AddBar(Item,"Progress", #12/2/2017#,#12/2/2017#) */
	/* DefineSummaryBars(Item,"", -3, "") */
	/* Chart.ItemBackColor(Item) = color */
	local color,var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	color = 14474460
	var_Items = oGrid.Items
		// var_Items.ItemDivider(Item) = -1
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDivider(Item) = -1]
		endwith
		// var_Items.CellValue(Item,1) = var_Items.CellCaption(Item,var_Items.GroupItem(Item))
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,1) = CellCaption(Item,GroupItem(Item))]
		endwith
		// var_Items.ItemBold(Item) = true
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBold(Item) = True]
		endwith
		// var_Items.ItemBackColor(Item) = color
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = color]
		endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	/* AddBar(Item,"Task",#12/4/2017#,#12/10/2017#) */
	/* ItemBar(Item,"", 514)  = ItemToIndex(Item) */
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
return

local h,oGrid,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Columns = oGrid.Columns
	var_Columns.Add("C1")
	var_Columns.Add("C2")
oGrid.LinesAtRoot = -1
oGrid.SortBarVisible = true
oGrid.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oGrid.AllowGroupBy = true
var_Items = oGrid.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
oGrid.Columns.Item(0).SortOrder = 1
oGrid.EndUpdate()

1166
How can I display an item of picture type

local h,h1,oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.ScrollBySingleLine = false
oGrid.HeaderAppearance = 4
oGrid.HeaderHeight = 24
// oGrid.Columns.Add("Artikel").HTMLCaption = "<u>Artikel"
var_Column = oGrid.Columns.Add("Artikel")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.HTMLCaption = "<u>Artikel"]
endwith
// oGrid.Columns.Add("Waarde").HTMLCaption = "<u>Waarde"
var_Column1 = oGrid.Columns.Add("Waarde")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.HTMLCaption = "<u>Waarde"]
endwith
oGrid.Template = [HTMLPicture("T22128") = "c:\exontrol\images\zipdisk.gif"] // oGrid.HTMLPicture("T22128") = "c:\exontrol\images\zipdisk.gif"
var_Items = oGrid.Items
	h = var_Items.AddItem("T22128-28)2D")
	h1 = var_Items.InsertItem(h,null,"<img>T22128:128</img>")
	// var_Items.CellValueFormat(h1,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellValueFormat(h1,0) = 1]
	endwith
	// var_Items.ItemHeight(h1) = 128
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ItemHeight(h1) = 128]
	endwith
	h1 = var_Items.InsertItem(h,null,"werkvoorbereiding")
	// var_Items.CellValue(h1,1) = "5.80"
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellValue(h1,1) = "5.80"]
	endwith
	// var_Items.CellBold(h1,1) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellBold(h1,1) = True]
	endwith
	// var_Items.CellValue(var_Items.InsertItem(h1,null,"Type"),1) = "Eenvoudig"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(h1,,"Type"),1) = "Eenvoudig"]
	endwith
	// var_Items.CellValue(var_Items.InsertItem(h1,null,"Prijs p/uur"),1) = "60,00"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(h1,,"Prijs p/uur"),1) = "60,00"]
	endwith
	// var_Items.CellValue(var_Items.InsertItem(h1,null,"Marhe"),1) = "15,00%"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(h1,,"Marhe"),1) = "15,00%"]
	endwith
	// var_Items.CellValue(var_Items.InsertItem(h1,null,"Insteltijd min."),1) = "5,00"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(h1,,"Insteltijd min."),1) = "5,00"]
	endwith
	// var_Items.CellValue(var_Items.InsertItem(h1,null,"Aantal"),1) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(h1,,"Aantal"),1) = 1]
	endwith
	// var_Items.CellValue(var_Items.InsertItem(h1,null,"Kostprije"),1) = "5,00"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(InsertItem(h1,,"Kostprije"),1) = "5,00"]
	endwith
	// var_Items.ExpandItem(h1) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ExpandItem(h1) = True]
	endwith
	h1 = var_Items.InsertItem(h,null,"materiall")
	// var_Items.CellValue(h1,1) = "14.82"
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellValue(h1,1) = "14.82"]
	endwith
	// var_Items.CellBold(h1,1) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellBold(h1,1) = True]
	endwith
	// var_Items.ItemHasChildren(h1) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ItemHasChildren(h1) = True]
	endwith
	h1 = var_Items.InsertItem(h,null,"snijden")
	// var_Items.CellValue(h1,1) = "3.13"
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellValue(h1,1) = "3.13"]
	endwith
	// var_Items.CellBold(h1,1) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellBold(h1,1) = True]
	endwith
	// var_Items.ItemHasChildren(h1) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ItemHasChildren(h1) = True]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oGrid.EndUpdate()

1165
Dark mode

local back,fore,oGrid

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
back = 65536
fore = 16777215
oGrid.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oGrid.VisualAppearance.Add(2,"gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4biaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA")
oGrid.VisualAppearance.Add(3,"gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5CjmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxbbuaaXLhGCYBgIA==")
oGrid.HeaderAppearance = 5
oGrid.BackColor = back
oGrid.BackColorHeader = back
oGrid.BackColorLevelHeader = back
oGrid.BackColorSortBar = back
oGrid.BackColorSortBarCaption = back
oGrid.FilterBarBackColor = back
oGrid.FilterBarForeColor = fore
oGrid.ForeColor = fore
oGrid.ForeColorHeader = fore
oGrid.ForeColorSortBar = fore
oGrid.SelBackColor = fore
oGrid.SelForeColor = back
oGrid.Template = [Background(0) = 16777216] // oGrid.Background(0) = 0x1000000
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.Template = [Background(64) = 50331648] // oGrid.Background(64) = 0x3000000
oGrid.Template = [Background(65) = back] // oGrid.Background(65) = back
oGrid.Template = [Background(66) = fore] // oGrid.Background(66) = fore
oGrid.Template = [Background(20) = fore] // oGrid.Background(20) = fore
oGrid.Template = [Background(21) = back] // oGrid.Background(21) = back
oGrid.Template = [Background(26) = back] // oGrid.Background(26) = back
oGrid.Template = [Background(27) = fore] // oGrid.Background(27) = fore
oGrid.Template = [Background(28) = back] // oGrid.Background(28) = back
oGrid.Template = [Background(511) = back] // oGrid.Background(511) = back
oGrid.Template = [Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"] // oGrid.Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
oGrid.EndUpdate()

1164
I have changed the font, but the item's height remains the same. What I am doing wrong

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.LoadXML("http://www.exontrol.net/testing.xml")
oGrid.Font.Size = 22
oGrid.HeaderHeight = 42
oGrid.DefaultItemHeight = 36
// oGrid.Items.ItemHeight(0) = oGrid.DefaultItemHeight
var_Items = oGrid.Items
with (oGrid)
	TemplateDef = [dim var_Items]
	TemplateDef = var_Items
	Template = [var_Items.ItemHeight(0) = Me.DefaultItemHeight]
endwith
oGrid.EndUpdate()

1163
How can I specify the cell's outline, border or lines around, when the cell gets selected

local oGrid,var_Appearance,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
	var_Appearance.Add(2,"CP:1 -4 0 0 0")
oGrid.SelBackColor = 0x2000000
oGrid.SelForeColor = 0x10000
oGrid.FullRowSelect = 0
oGrid.ShowFocusRect = false
oGrid.DefaultItemHeight = 24
oGrid.HeaderHeight = 24
oGrid.DrawGridLines = 2
oGrid.Columns.Add("C1")
oGrid.Columns.Add("C2")
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem("Cell 1"),1) = "Cell 2"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Cell 1"),1) = "Cell 2"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Cell 3"),1) = "Cell 4"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Cell 3"),1) = "Cell 4"]
	endwith
oGrid.Items.SelectPos = 1
oGrid.SelectColumnIndex = 1
oGrid.EndUpdate()

1162
How can I specify the cell's outline, border or lines around, when the item gets selected

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
oGrid.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
oGrid.SelBackColor = 0x1000000
oGrid.SelForeColor = 0x10000
oGrid.ShowFocusRect = false
oGrid.DefaultItemHeight = 24
oGrid.HeaderHeight = 24
oGrid.DrawGridLines = 2
oGrid.Columns.Add("C1")
oGrid.Columns.Add("C2")
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem("Cell 1"),1) = "Cell 2"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Cell 1"),1) = "Cell 2"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Cell 3"),1) = "Cell 4"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Cell 3"),1) = "Cell 4"]
	endwith
	var_Items.SelectPos = 1
oGrid.EndUpdate()

1161
How can I specify the cell's outline, border or lines around

local h,oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
oGrid.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
oGrid.SelBackMode = 1
oGrid.ShowFocusRect = false
oGrid.DefaultItemHeight = 24
oGrid.HeaderHeight = 24
oGrid.DrawGridLines = 2
oGrid.Columns.Add("C1")
oGrid.Columns.Add("C2")
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem("Cell 1"),1) = "Cell 2"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Cell 1"),1) = "Cell 2"]
	endwith
	h = var_Items.AddItem("Cell 2")
	// var_Items.CellValue(h,1) = "Cell 3"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Cell 3"]
	endwith
	// var_Items.CellBackColor(h,1) = 0x1000000
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellBackColor(h,1) = 16777216]
	endwith
oGrid.EndUpdate()

1160
Is it possible to highligth the match while a filter is applied

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(17) = 1 */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Occurs when filter was changed.
function nativeObject_FilterChange()
	local format
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	format = oGrid.FormatABC("`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",oGrid.FilterBarPromptPattern)
	oGrid.Columns.Item(0).FormatColumn = Str(format)
	oGrid.Columns.Item(1).FormatColumn = Str(format)
return

local oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.DrawGridLines = 2
oGrid.HeaderAppearance = 4
oGrid.Columns.Add("Col 1")
oGrid.Columns.Add("Col 2")
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem("219 Smith"),1) = "Ignacio 1234"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("219 Smith"),1) = "Ignacio 1234"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("1666 County Road 309A"),1) = "897 Manassa"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("1666 County Road 309A"),1) = "897 Manassa"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("38 Lone Pine"),1) = "Durango 11"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("38 Lone Pine"),1) = "Durango 11"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("612 Jachim Street"),1) = "Lamar 222"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("612 Jachim Street"),1) = "Lamar 222"]
	endwith
oGrid.FilterBarPromptPattern = "1"
oGrid.FilterBarPromptVisible = 2067 /*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
oGrid.FilterBarPromptType = 257 /*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/
oGrid.EndUpdate()

1159
How can I replace the cell's context menu ( while edit mode is running )

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	RClick = class::nativeObject_RClick
endwith
*/
// Fired when right mouse button is clicked
function nativeObject_RClick()
	local var_ExContextMenu
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	? "Edit Mode: " 
	? Str(oGrid.Editing) 
	var_ExContextMenu = new OleAutoClient("Exontrol.ContextMenu")
		var_ExContextMenu.Items.ToString = "Check[chk],[sep],Item 1,Item 2,Item 3,Popup(A,B,C)"
		? Str(var_ExContextMenu.Select()) 
return

local oGrid,var_Editor,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 1
var_Editor = oGrid.Columns.Add("Column").Editor
	var_Editor.EditType = 1
	// var_Editor.Option(202) = false
	with (oGrid)
		TemplateDef = [dim var_Editor]
		TemplateDef = var_Editor
		Template = [var_Editor.Option(202) = False]
	endwith
var_Items = oGrid.Items
	var_Items.AddItem("Item 1")
	var_Items.AddItem("Item 2")
oGrid.EndUpdate()

1158
Is it possible to highlight the column's header once a filter is applied (sample 2)

local h,oGrid,var_Appearance,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSAsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDMRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwXg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqDBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKAT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBHAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaBZhggZgagaYRoEwShWA6NZZAMQBAICA==")
oGrid.Template = [Background(0) = 16777216] // oGrid.Background(0) = 0x1000000
oGrid.Template = [Background(41) = 33554432] // oGrid.Background(41) = 0x2000000
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.HeaderHeight = 28
oGrid.BackColorHeader = 0xffffff
oGrid.DrawGridLines = -2
oGrid.HeaderVisible = true
var_Columns = oGrid.Columns
	// var_Columns.Add("C1").DisplayFilterButton = true
	var_Column = var_Columns.Add("C1")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.DisplayFilterButton = True]
	endwith
	var_Column1 = var_Columns.Add("C2")
		var_Column1.DisplayFilterButton = true
		var_Column1.Filter = "Item 2"
		var_Column1.FilterType = 240
	// var_Columns.Add("C3").DisplayFilterButton = true
	var_Column2 = var_Columns.Add("C3")
	with (oGrid)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.DisplayFilterButton = True]
	endwith
var_Items = oGrid.Items
	h = var_Items.AddItem("Item 1")
	// var_Items.CellValue(h,1) = "Item 2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Item 2"]
	endwith
	// var_Items.CellValue(h,2) = "Item 3"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "Item 3"]
	endwith
	h = var_Items.AddItem("Item 4")
	// var_Items.CellValue(h,1) = "Item 5"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Item 5"]
	endwith
	// var_Items.CellValue(h,2) = "Item 6"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "Item 6"]
	endwith
oGrid.ApplyFilter()
oGrid.EndUpdate()

1157
How can I make the expand/collapse glyphs DPI aware

local h,oGrid,size,var_Appearance,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
size = 2
oGrid.BeginUpdate()
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcCQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKcRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJrnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYGoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpFIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJ" ;
 +"ZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYIgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVYghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxTiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYFoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaFKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWR" ;
 +"YOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==")
	var_Appearance.Add(1,oGrid.FormatABC("`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size))
	var_Appearance.Add(2,oGrid.FormatABC("`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size))
oGrid.LinesAtRoot = 1
oGrid.HasButtons = 4
oGrid.Template = [HasButtonsCustom(0) = 16777216] // oGrid.HasButtonsCustom(false) = 16777216
oGrid.Template = [HasButtonsCustom(1) = 33554432] // oGrid.HasButtonsCustom(true) = 33554432
oGrid.Columns.Add("Column")
var_Items = oGrid.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oGrid.EndUpdate()

1156
Is it possible to highlight the column's header once a filter is applied (sample 1)

local h,oGrid,var_Appearance,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=")
	var_Appearance.Add(1,"CP:2 -8 -4 2 4")
oGrid.Template = [Background(0) = 33488638] // oGrid.Background(0) = 0x1fefefe
oGrid.Template = [Background(41) = 16843009] // oGrid.Background(41) = 0x1010101
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.HeaderHeight = 28
oGrid.BackColorHeader = 0xffffff
oGrid.DrawGridLines = -2
oGrid.HeaderVisible = true
var_Columns = oGrid.Columns
	// var_Columns.Add("C1").DisplayFilterButton = true
	var_Column = var_Columns.Add("C1")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.DisplayFilterButton = True]
	endwith
	var_Column1 = var_Columns.Add("C2")
		var_Column1.DisplayFilterButton = true
		var_Column1.Filter = "Item 2"
		var_Column1.FilterType = 240
	// var_Columns.Add("C3").DisplayFilterButton = true
	var_Column2 = var_Columns.Add("C3")
	with (oGrid)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.DisplayFilterButton = True]
	endwith
var_Items = oGrid.Items
	h = var_Items.AddItem("Item 1")
	// var_Items.CellValue(h,1) = "Item 2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Item 2"]
	endwith
	// var_Items.CellValue(h,2) = "Item 3"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "Item 3"]
	endwith
	h = var_Items.AddItem("Item 4")
	// var_Items.CellValue(h,1) = "Item 5"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Item 5"]
	endwith
	// var_Items.CellValue(h,2) = "Item 6"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "Item 6"]
	endwith
oGrid.ApplyFilter()
oGrid.EndUpdate()

1155
How do I update itemcount and matchitemcount of the FilterBarCaption after I added the item using the AddItem method
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Click = class::nativeObject_Click
endwith
*/
// Occurs when the user presses and then releases the left mouse button over the grid control.
function nativeObject_Click()
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Items.AddItem("new")
	oGrid.Refresh()
return

local oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Column = oGrid.Columns.Add("Item")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oGrid.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oGrid.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oGrid.FilterBarCaption = "`<r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
oGrid.FilterBarPromptVisible = 3591 /*exFilterBarCompact | exFilterBarShowCloseOnRight | exFilterBarShowCloseIfRequired | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
oGrid.EndUpdate()

1154
I can't get values in the column properly centered. What can be the problem

local oGrid,var_Column

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.TreeColumnIndex = -1
oGrid.DrawGridLines = -2
var_Column = oGrid.Columns.Add("Default")
	var_Column.Alignment = 1
	var_Column.FormatColumn = "ltrim(rtrim(value))"
oGrid.Items.AddItem("item 1            ")
oGrid.Items.AddItem("             item 2")
oGrid.Items.AddItem("   item 3                ")
oGrid.EndUpdate()

1153
The Edit method does not work while ReadOnly property is exLocked and the first column is hidden. Is there any fix

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	DblClick = class::nativeObject_DblClick
endwith
*/
// Occurs when the user dblclk the left mouse button over an object.
function nativeObject_DblClick(Shift,X,Y)
	local var_ItemFromPoint
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_ItemFromPoint = oGrid.ItemFromPoint(-1,-1,c,hit)
	oGrid.FocusColumnIndex = c
	oGrid.Edit()
return

local oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.AutoEdit = false
oGrid.ReadOnly = 1
oGrid.AutoSearch = true
// oGrid.Columns.Add("").Visible = false
var_Column = oGrid.Columns.Add("")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Visible = False]
endwith
var_Column1 = oGrid.Columns.Add("Contains")
	var_Column1.AutoSearch = 1
	var_Column1.Editor.EditType = 1
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem(),1) = "Tom Hanks"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(),1) = "Tom Hanks"]
	endwith
	// var_Items.CellValue(var_Items.AddItem(),1) = "Leonardo DiCaprio"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(),1) = "Leonardo DiCaprio"]
	endwith
	// var_Items.CellValue(var_Items.AddItem(),1) = "Will Smith"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(),1) = "Will Smith"]
	endwith
	// var_Items.CellValue(var_Items.AddItem(),1) = "Tom Cruise"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(),1) = "Tom Cruise"]
	endwith
oGrid.EndUpdate()

1152
How can I enable the Undo/Redo feature

local h,oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.AllowUndoRedo = true
oGrid.LinesAtRoot = -1
oGrid.HeaderAppearance = 4
var_Column = oGrid.Columns.Add("P1")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oGrid.Columns.Add("P2")
	// var_Column1.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(0) = True]
	endwith
	var_Column1.PartialCheck = true
var_Items = oGrid.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	var_Items.AddItem("Press CTRL + Z for Undo, and CTRL + Y for Redo")
oGrid.EndUpdate()

1151
The incremental search feature is no working for columns with editor assigned. What can be done

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	DblClick = class::nativeObject_DblClick
endwith
*/
// Occurs when the user dblclk the left mouse button over an object.
function nativeObject_DblClick(Shift,X,Y)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Edit()
return

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.AutoEdit = false
oGrid.AutoSearch = true
var_Column = oGrid.Columns.Add("Contains")
	var_Column.AutoSearch = 1
	var_Column.Editor.EditType = 1
var_Items = oGrid.Items
	var_Items.AddItem("Tom Hanks")
	var_Items.AddItem("Leonardo DiCaprio")
	var_Items.AddItem("Will Smith")
	var_Items.AddItem("Tom Cruise")
oGrid.EndUpdate()

1150
Each item is representated by a key as string. Is it possible to have a drop down editor to display more information when using the item's key

local oGrid,var_Editor,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
var_Editor = oGrid.Columns.Add("Multiple-Columns Tree DropDownListType").Editor
	var_Editor.EditType = 3
	var_Editor.AddItem(0,"KR|Korea, Republic of")
	var_Editor.AddItem(1,"MO|Macao")
	var_Editor.AddItem(2,"SA|Saudi Arabia")
	var_Editor.AddItem(3,"EG|Egypt")
	var_Editor.AddItem(4,"GB|United Kingdom")
	var_Editor.AddItem(5,"GT|Guatemala")
	var_Editor.AddItem(6,"SR|Suriname")
	var_Editor.AddItem(7,"BM|Bermuda")
var_Items = oGrid.Items
	var_Items.AddItem("EG")
	var_Items.AddItem("GB")
	var_Items.AddItem("BM")
oGrid.EndUpdate()

1149
My table includes codes/keys for items, can I display a drop down editor to include more information

local oGrid,var_Editor,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
var_Editor = oGrid.Columns.Add("Multiple-Columns DropDownListType").Editor
	var_Editor.EditType = 3
	var_Editor.DropDownAutoWidth = 0
	// var_Editor.Option(57) = "City¦Coordinates¦State"
	with (oGrid)
		TemplateDef = [dim var_Editor]
		TemplateDef = var_Editor
		Template = [var_Editor.Option(57) = "City¦Coordinates¦State"]
	endwith
	var_Editor.AddItem(0,"JV3|Jollyville¦3026N 09746W¦Texas")
	var_Editor.AddItem(1,"TMO|Altamont¦4021N 11017W¦Utah")
	var_Editor.AddItem(2,"IIM|Williamston¦4241N 08417W¦Michigan")
	var_Editor.AddItem(3,"IWN|Merrittstown¦3958N 07952W¦Pennsylvania")
	var_Editor.AddItem(4,"HOU|Houston¦2945N 09521W¦Texas")
	var_Editor.AddItem(5,"GSF|Gales Ferry¦4125N 07205W¦Connecticut")
var_Items = oGrid.Items
	var_Items.AddItem("HOU")
	var_Items.AddItem("IIM")
	var_Items.AddItem("TMO")
oGrid.EndUpdate()

1148
How can I display and select from a multiple-columns tree editor

local oGrid,var_Editor,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid.HeaderAppearance = 4
var_Editor = oGrid.Columns.Add("Multiple-Columns Tree DropDownListType").Editor
	var_Editor.EditType = 3
	var_Editor.DropDownAutoWidth = 0
	// var_Editor.Option(57) = "Name¦Title¦City¦Phone"
	with (oGrid)
		TemplateDef = [dim var_Editor]
		TemplateDef = var_Editor
		Template = [var_Editor.Option(57) = "Name¦Title¦City¦Phone"]
	endwith
	// var_Editor.Option(58) = "224¦¦¦96"
	with (oGrid)
		TemplateDef = [dim var_Editor]
		TemplateDef = var_Editor
		Template = [var_Editor.Option(58) = "224¦¦¦96"]
	endwith
	var_Editor.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
	var_Editor.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
	var_Editor.InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3,2)
	var_Editor.InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3,2)
	var_Editor.InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2,2)
	var_Editor.InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1,5)
	var_Editor.InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2,2)
	var_Editor.InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3,2)
	var_Editor.InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2,5)
	var_Editor.ExpandAll()
var_Items = oGrid.Items
	var_Items.AddItem(1)
	var_Items.AddItem(2)
	var_Items.AddItem(4)
oGrid.EndUpdate()

1147
Does you control support multiple-columns for a drop down editor

local oGrid,var_Editor,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
var_Editor = oGrid.Columns.Add("Multiple-Columns DropDownListType").Editor
	var_Editor.EditType = 3
	var_Editor.DropDownAutoWidth = 0
	var_Editor.AddItem(0,"Jollyville¦JV3¦3026N 09746W¦TX")
	var_Editor.AddItem(1,"Altamont¦TMO¦4021N 11017W¦UT")
	var_Editor.AddItem(2,"Williamston¦IIM¦4241N 08417W¦MI")
	var_Editor.AddItem(3,"Merrittstown¦IWN¦3958N 07952W¦PA")
	var_Editor.AddItem(4,"Houston¦HOU¦2945N 09521W¦TX")
	var_Editor.AddItem(5,"Gales Ferry¦GSF¦4125N 07205W¦CT")
var_Items = oGrid.Items
	var_Items.InsertItem(0,"",1)
	var_Items.InsertItem(0,"",2)
	var_Items.InsertItem(0,"",4)
oGrid.EndUpdate()

1146
Is it possible to show the filterbar on top of the rows

local oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.FilterBarPromptVisible = 8192
oGrid.HeaderHeight = 24
oGrid.FilterBarHeight = oGrid.HeaderHeight
oGrid.HeaderAppearance = 1
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
var_Column = oGrid.Columns.Add("Column")
	var_Column.DisplayFilterButton = true
	var_Column.FilterType = 3
	var_Column.Filter = "B*"
var_Column1 = oGrid.Columns.Add("Index")
	var_Column1.FormatColumn = "1 index ``"
	var_Column1.Position = 0
	var_Column1.Width = 48
	var_Column1.AllowSizing = false
	var_Column1.SortType = 1
	// var_Column1.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(0) = True]
	endwith
var_Items = oGrid.Items
	var_Items.AddItem("A.1")
	var_Items.AddItem("A.2")
	var_Items.AddItem("B.1")
	var_Items.AddItem("B.2")
	var_Items.AddItem("B.3")
	var_Items.AddItem("C")
oGrid.ApplyFilter()
oGrid.EndUpdate()

1145
DragDrop (with visual effect)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	OLEDragDrop = class::nativeObject_OLEDragDrop
endwith
*/
// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
function nativeObject_OLEDragDrop(Data,Effect,Button,Shift,X,Y)
	/* SelectItem(InsertItem(i,, Data.GetData(1))) = True */
	local i,var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	i = oGrid.ItemFromPoint(-1,-1,c,hit)
	var_Items = oGrid.Items
		// var_Items.ExpandItem(i) = true
		with (oGrid)
			TemplateDef = [dim var_Items,i]
			TemplateDef = var_Items
			TemplateDef = i
			Template = [var_Items.ExpandItem(i) = True]
		endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	OLEStartDrag = class::nativeObject_OLEStartDrag
endwith
*/
// Occurs when the OLEDrag method is called.
function nativeObject_OLEStartDrag(Data,AllowedEffects)
	/* Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1) */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	AllowedEffects = 1
return

local h,oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGjuKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==")
oGrid.Template = [Background(96) = 16777216] // oGrid.Background(96) = 0x1000000
oGrid.Template = [Background(33) = 0] // oGrid.Background(33) = 0x0
oGrid.Template = [Background(34) = 16777215] // oGrid.Background(34) = 0xffffff
oGrid.OLEDropMode = 1
oGrid.AutoDrag = 196608
oGrid.LinesAtRoot = -1
oGrid.Indent = 16
oGrid.SelBackMode = 1
oGrid.Columns.Add("Default")
var_Items = oGrid.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
? "You can:" 
? "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" 
? "B) right-click to re-arrange the item position inside the same control" 
? "This sample shows how you can insert the data being dropped as a child of the item being hovered." 

1144
DragDrop (with no visual effect, hide item while drag and drop)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	OLEDragDrop = class::nativeObject_OLEDragDrop
endwith
*/
// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
function nativeObject_OLEDragDrop(Data,Effect,Button,Shift,X,Y)
	/* SelectItem(InsertItem(i,, Data.GetData(1))) = True */
	local i,var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	i = oGrid.ItemFromPoint(-1,-1,c,hit)
	var_Items = oGrid.Items
		// var_Items.ExpandItem(i) = true
		with (oGrid)
			TemplateDef = [dim var_Items,i]
			TemplateDef = var_Items
			TemplateDef = i
			Template = [var_Items.ExpandItem(i) = True]
		endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	OLEStartDrag = class::nativeObject_OLEStartDrag
endwith
*/
// Occurs when the OLEDrag method is called.
function nativeObject_OLEStartDrag(Data,AllowedEffects)
	/* Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1) */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	AllowedEffects = 1
return

local h,oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.Template = [Background(33) = 0] // oGrid.Background(33) = 0x0
oGrid.Template = [Background(34) = 16777215] // oGrid.Background(34) = 0xffffff
oGrid.OLEDropMode = 1
oGrid.AutoDrag = 196608
oGrid.LinesAtRoot = -1
oGrid.Indent = 16
oGrid.SelBackMode = 1
oGrid.Columns.Add("Default")
var_Items = oGrid.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
? "You can:" 
? "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" 
? "B) right-click to re-arrange the item position inside the same control" 
? "This sample shows how you can insert the data being dropped as a child of the item being hovered." 

1143
DragDrop

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	OLEDragDrop = class::nativeObject_OLEDragDrop
endwith
*/
// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
function nativeObject_OLEDragDrop(Data,Effect,Button,Shift,X,Y)
	/* SelectItem(InsertItem(i,, Data.GetData(1))) = True */
	local i,var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	i = oGrid.ItemFromPoint(-1,-1,c,hit)
	var_Items = oGrid.Items
		// var_Items.ExpandItem(i) = true
		with (oGrid)
			TemplateDef = [dim var_Items,i]
			TemplateDef = var_Items
			TemplateDef = i
			Template = [var_Items.ExpandItem(i) = True]
		endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	OLEStartDrag = class::nativeObject_OLEStartDrag
endwith
*/
// Occurs when the OLEDrag method is called.
function nativeObject_OLEStartDrag(Data,AllowedEffects)
	/* Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1) */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	AllowedEffects = 1
return

local h,oGrid,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.OLEDropMode = 1
oGrid.AutoDrag = 196608
oGrid.LinesAtRoot = -1
oGrid.Indent = 16
oGrid.SelBackMode = 1
oGrid.Columns.Add("Default")
var_Items = oGrid.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
? "You can:" 
? "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" 
? "B) right-click to re-arrange the item position inside the same control" 
? "This sample shows how you can insert the data being dropped as a child of the item being hovered." 

1142
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

local oGrid,var_Column,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
var_Columns = oGrid.Columns
	var_Columns.Add("Item")
	var_Column = var_Columns.Add("Pos")
		var_Column.Position = 0
		var_Column.Width = 32
		var_Column.AllowSizing = false
		var_Column.FormatColumn = "1 index ``"
		var_Column.AllowSort = false
		var_Column.AllowDragging = false
var_Items = oGrid.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oGrid.EndUpdate()

1141
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

local oGrid,var_Column,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
var_Columns = oGrid.Columns
	var_Columns.Add("Item")
	var_Column = var_Columns.Add("Pos")
		var_Column.Position = 0
		var_Column.Width = 32
		var_Column.AllowSizing = false
		var_Column.FormatColumn = "1 index ``"
		var_Column.AllowSort = false
		var_Column.AllowDragging = false
var_Items = oGrid.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oGrid.EndUpdate()

1140
Is it possible to exclude the parent/child items when do the filtering, so to include only items that match the filter without any indentation

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Occurs when filter was changed.
function nativeObject_FilterChange()
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Indent = oGrid.FormatABC("value > 0 ? 18 : 0",.Items.MatchItemCount)
return

local h,h2,oGrid,var_Column,var_Column1,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.Indent = 18
oGrid.FilterInclude = 4
oGrid.DrawGridLines = 2
oGrid.HeaderAppearance = 1
var_Columns = oGrid.Columns
	var_Column = var_Columns.Add("Column")
		var_Column.DisplayFilterButton = true
		var_Column.FilterType = 240
		var_Column.FilterList = 256
		var_Column.Filter = "C1"
	var_Column1 = var_Columns.Add("Pos")
		var_Column1.FormatColumn = "1 rindex ``"
		var_Column1.Position = 0
		var_Column1.AllowSizing = false
		var_Column1.AllowDragging = false
var_Items = oGrid.Items
	h = var_Items.AddItem("R1")
	h2 = var_Items.InsertItem(h,null,"S")
	var_Items.InsertItem(h2,null,"C1")
	var_Items.InsertItem(h2,null,"C2")
	var_Items.InsertItem(h,null,"C1")
	var_Items.InsertItem(h,null,"C2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("R2")
	var_Items.InsertItem(h,null,"C1")
	var_Items.InsertItem(h,null,"C2")
oGrid.ApplyFilter()
oGrid.EndUpdate()

1139
How can I display the total/sum/aggregate in the same column, when the user groups by a column

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		// var_Items.ItemDivider(Item) = -1
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDivider(Item) = -1]
		endwith
		// var_Items.ItemBackColor(Item) = oGrid.BackColorSortBar
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = Me.BackColorSortBar]
		endwith
		// var_Items.ItemHeight(Item) = oGrid.HeaderHeight
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemHeight(Item) = Me.HeaderHeight]
		endwith
		// var_Items.CellMerge(Item,0) = "1,2,3,4,5,7,8,9,10,11,12"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellMerge(Item,0) = "1,2,3,4,5,7,8,9,10,11,12"]
		endwith
		// var_Items.CellValue(Item,13) = "count(current,rec,1)"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,13) = "count(current,rec,1)"]
		endwith
		// var_Items.CellValueFormat(Item,13) = 5 /*exTotalField | exHTML*/
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,13) = 5]
		endwith
		// var_Items.CellValue(Item,0) = var_Items.CellCaption(Item,var_Items.GroupItem(Item))
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,0) = CellCaption(Item,GroupItem(Item))]
		endwith
		// var_Items.FormatCell(Item,0) = "`<b>` + value + `</b> <font ;7><off 3><fgcolor=808080>(` + %13 +  `)`"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.FormatCell(Item,0) = "`<b>` + value + `</b> <font ;7><off 3><fgcolor=808080>(` + %13 +  `)`"]
		endwith
		// var_Items.CellValue(Item,6) = "sum(current,all,dbl(%6))"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,6) = "sum(current,all,dbl(%6))"]
		endwith
		// var_Items.CellValueFormat(Item,6) = 5 /*exTotalField | exHTML*/
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,6) = 5]
		endwith
		// var_Items.CellForeColor(Item,6) = 0x666666
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellForeColor(Item,6) = 6710886]
		endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local hL,oGrid,rs,var_Column,var_Column1,var_Column2,var_Column3,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = 5
oGrid.Indent = 12
oGrid.ColumnAutoResize = false
oGrid.ScrollBySingleLine = true
oGrid.BackColorSortBar = 0xf0f0f0
oGrid.AutoDrag = 16
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3)
oGrid.DataSource = rs
oGrid.SingleSort = false
oGrid.SortBarVisible = true
oGrid.AllowGroupBy = true
oGrid.HeaderHeight = 24
var_Columns = oGrid.Columns
	// var_Columns.Add("Count").Visible = false
	var_Column = var_Columns.Add("Count")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	var_Column1 = var_Columns.Item("Freight")
		// var_Column1.Def(4) = oGrid.BackColorSortBar
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(4) = Me.BackColorSortBar]
		endwith
		// var_Column1.Def(7) = var_Column1.Def(4)
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(7) = Def(4)]
		endwith
		// var_Column1.Def(49) = 4
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(49) = 4]
		endwith
		// var_Column1.Def(48) = 4
		with (oGrid)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(48) = 4]
		endwith
		var_Column1.HeaderBold = true
		var_Column1.AllowGroupBy = false
		var_Column1.FormatColumn = "value format ``"
		var_Column1.Alignment = 2
	var_Column2 = var_Columns.Item(0)
		var_Column2.AllowGroupBy = false
		// var_Column2.Def(17) = 1
		with (oGrid)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(17) = 1]
		endwith
	// var_Columns.Item("ShipCountry").SortOrder = 1
	var_Column3 = var_Columns.Item("ShipCountry")
	with (oGrid)
		TemplateDef = [dim var_Column3]
		TemplateDef = var_Column3
		Template = [var_Column3.SortOrder = 1]
	endwith
oGrid.ScrollBySingleLine = false
var_Items = oGrid.Items
	// var_Items.LockedItemCount(2) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(2) = 1]
	endwith
	hL = var_Items.LockedItem(2,0)
	// var_Items.ItemHeight(hL) = 24
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemHeight(hL) = 24]
	endwith
	// var_Items.ItemBold(hL) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemBold(hL) = True]
	endwith
	// var_Items.ItemBackColor(hL) = oGrid.BackColorSortBar
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemBackColor(hL) = Me.BackColorSortBar]
	endwith
	// var_Items.CellValue(hL,6) = "sum(all,rec,dbl(%6))"
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellValue(hL,6) = "sum(all,rec,dbl(%6))"]
	endwith
	// var_Items.CellValueFormat(hL,6) = 5 /*exTotalField | exHTML*/
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellValueFormat(hL,6) = 5]
	endwith
	// var_Items.CellHAlignment(hL,6) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellHAlignment(hL,6) = 2]
	endwith
	// var_Items.FormatCell(hL,6) = "value format ``"
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.FormatCell(hL,6) = "value format ``"]
	endwith
oGrid.EndUpdate()

1138
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that

local h,oGrid,var_Column,var_Column1,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.DrawGridLines = 1
oGrid.GridLineStyle = 512
oGrid.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJXhaI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==")
var_Column = oGrid.Columns.Add("Default")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oGrid.Columns.Add("Position")
	var_Column1.FormatColumn = "((1 rindex ``) contains `.`) = 0"
	var_Column1.Visible = false
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%C1")
	var_ConditionalFormat.BackColor = 0x1e0e0e0
var_Items = oGrid.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	var_Items.InsertItem(h,null,"Child 3")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	h = var_Items.AddItem("Root 3")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
oGrid.EndUpdate()

1137
I can not center or align the cell's caption and icon, when it displays the hierarchy

local h,hChild,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oGrid.Columns.Add("Tasks")
	// var_Column.Def(17) = 1
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
oGrid.HeaderVisible = true
var_Items = oGrid.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"<img>1</img> Task (left)")
	hChild = var_Items.InsertItem(h,null,"<c><img>2</img> Task (center)")
	hChild = var_Items.InsertItem(h,null,"<r>Task (right) <img>3</img>")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oGrid.EndUpdate()

1136
How do I mask for float/integer number

local h,oGrid,var_Column,var_Editor,var_Editor1,var_Editor2,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = true
// oGrid.Columns.Add("Type").Width = 32
var_Column = oGrid.Columns.Add("Type")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 32]
endwith
oGrid.Columns.Add("Editor")
var_Items = oGrid.Items
	h = var_Items.AddItem("Integer")
	// var_Items.CellValue(h,1) = "12"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "12"]
	endwith
	var_Editor = var_Items.CellEditor(h,1)
		var_Editor.EditType = 1
		var_Editor.Numeric = -1
	h = var_Items.AddItem("Integer (mask, group)")
	// var_Items.CellValue(h,1) = "10002"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "10002"]
	endwith
	// var_Items.FormatCell(h,1) = "value format `0||`"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,1) = "value format `0||`"]
	endwith
	var_Editor1 = var_Items.CellEditor(h,1)
		var_Editor1.EditType = 8
		var_Editor1.Mask = ";;;float,digits=0,invalid=empty,warning=invalid character"
	h = var_Items.AddItem("Integer (mask, no group)")
	// var_Items.CellValue(h,1) = "10002"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "10002"]
	endwith
	// var_Items.FormatCell(h,1) = "value format `0|0|`"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,1) = "value format `0|0|`"]
	endwith
	var_Editor2 = var_Items.CellEditor(h,1)
		var_Editor2.EditType = 8
		var_Editor2.Mask = ";;;float,digits=0,grouping=,invalid=empty,warning=invalid character"
	h = var_Items.AddItem("Float")
	// var_Items.CellValue(h,1) = "+12.34E+2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "+12.34E+2"]
	endwith
	var_Editor3 = var_Items.CellEditor(h,1)
		var_Editor3.EditType = 1
		var_Editor3.Numeric = 1
	h = var_Items.AddItem("Float (no signs)")
	// var_Items.CellValue(h,1) = "12.34E-2"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "12.34E-2"]
	endwith
	var_Editor4 = var_Items.CellEditor(h,1)
		var_Editor4.EditType = 1
		var_Editor4.Numeric = 769 /*exDisableSigns | exFloat*/
	h = var_Items.AddItem("Float-Integer")
	// var_Items.CellValue(h,1) = "+12.34"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "+12.34"]
	endwith
	var_Editor5 = var_Items.CellEditor(h,1)
		var_Editor5.EditType = 1
		var_Editor5.Numeric = 2
	h = var_Items.AddItem("Float-Integer (no signs)")
	// var_Items.CellValue(h,1) = "12.34"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "12.34"]
	endwith
	var_Editor6 = var_Items.CellEditor(h,1)
		var_Editor6.EditType = 1
		var_Editor6.Numeric = 770 /*exDisableSigns | exFloatInteger*/
	h = var_Items.AddItem("Float (mask,group)")
	// var_Items.CellValue(h,1) = "10002.34"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "10002.34"]
	endwith
	// var_Items.FormatCell(h,1) = "value format `2`"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,1) = "value format `2`"]
	endwith
	var_Editor7 = var_Items.CellEditor(h,1)
		var_Editor7.EditType = 8
		var_Editor7.Mask = ";;;float,invalid=empty,warning=invalid character"
	h = var_Items.AddItem("Float (mask, no group)")
	// var_Items.CellValue(h,1) = "10002.34"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "10002.34"]
	endwith
	// var_Items.FormatCell(h,1) = "value format `2|0|`"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,1) = "value format `2|0|`"]
	endwith
	var_Editor8 = var_Items.CellEditor(h,1)
		var_Editor8.EditType = 8
		var_Editor8.Mask = ";;;float,grouping=,invalid=empty,warning=invalid character"
oGrid.EndUpdate()

1135
How do I set an extra data for each item
/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	local i
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	i = oGrid.ItemFromPoint(-1,-1,c,hit)
	? Str(i) 
	? Str(oGrid.Items.ItemData(i)) 
return

local oGrid,var_Items,var_Items1

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = true
oGrid.Columns.Add("Default")
var_Items = oGrid.Items
	// var_Items.ItemData(var_Items.AddItem("method 1")) = "your extra data of method 1"
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ItemData(AddItem("method 1")) = "your extra data of method 1"]
	endwith
	var_Items.InsertItem(0,"your extra data of method 2","method 2")
var_Items1 = oGrid.Items
	var_Items1.DefaultItem = var_Items1.AddItem("method 3")
	// var_Items1.ItemData(0) = "your extra data of method 3"
	with (oGrid)
		TemplateDef = [dim var_Items1]
		TemplateDef = var_Items1
		Template = [var_Items1.ItemData(0) = "your extra data of method 3"]
	endwith
oGrid.EndUpdate()

1134
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

local oGrid,var_Column,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}")
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 32
var_Columns = oGrid.Columns
	var_Columns.Add("Item")
	var_Column = var_Columns.Add("Pos")
		var_Column.Position = 0
		var_Column.Width = 32
		var_Column.AllowSizing = false
		var_Column.FormatColumn = "1 index ``"
var_Items = oGrid.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oGrid.EndUpdate()

1133
How can I change the Exclude field in the drop down filter window

local h,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.Template = [HTMLPicture("exclude") = "gCJKBOI4NBQaBQAhQNJJIIhShQACERCAEAcRdrdcUQhQDOZCJJUBEjbbhJ7giIJOBILJziJvl4BeKibhDiIZOhFLB0KZvMx0O5hORlAB3owuNJuNZzMZhOBlFxvORnTbuHgaiIeKBMKhFf9fDIcEoPCAVEAlGI4HhBBYMCARCQVGg4IhVMCAWC2XY1Q7WJ8RBB0KROKYAYDBbzicjndD6fA/VsRHRJIhBkRbMYIGwGAQjA2fRYOEBoYjBFBx1ATCgCGQ8M7OTjSaJMDRDKIwYu5DrIMBgSAADKJTqhBhyRApAA3FAucZPPilokRJJFJxEVxCMCCgIA=="] // oGrid.HTMLPicture("exclude") = "gCJKBOI4NBQaBQAhQNJJIIhShQACERCAEAcRdrdcUQhQDOZCJJUBEjbbhJ7giIJOBILJziJvl4BeKibhDiIZOhFLB0KZvMx0O5hORlAB3owuNJuNZzMZhOBlFxvORnTbuHgaiIeKBMKhFf9fDIcEoPCAVEAlGI4HhBBYMCARCQVGg4IhVMCAWC2XY1Q7WJ8RBB0KROKYAYDBbzicjndD6fA/VsRHRJIhBkRbMYIGwGAQjA2fRYOEBoYjBFBx1ATCgCGQ8M7OTjSaJMDRDKIwYu5DrIMBgSAADKJTqhBhyRApAA3FAucZPPilokRJJFJxEVxCMCCgIA=="
oGrid.Template = [Description(25) = "<img>exclude</img>"] // oGrid.Description(25) = "<img>exclude</img>"
var_Column = oGrid.Columns.Add("Items")
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterPattern = false
	var_Column.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Items = oGrid.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
oGrid.EndUpdate()

1132
How can I change the Exclude field in the drop down filter window

local h,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.Template = [Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"] // oGrid.Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
var_Column = oGrid.Columns.Add("Items")
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterPattern = false
	var_Column.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Items = oGrid.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
oGrid.EndUpdate()

1131
The grid lines looks different then before. What should I do

local h,hChild,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.DrawGridLines = -1
oGrid.GridLineStyle = 512
var_Column = oGrid.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
oGrid.HeaderVisible = true
var_Items = oGrid.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oGrid.EndUpdate()

1130
Can I sort the column by check-state

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Column = oGrid.Columns.Add("Check")
	// var_Column.Def(0) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.SortType = 32
var_Items = oGrid.Items
	var_Items.AddItem()
	// var_Items.CellState(var_Items.AddItem(),0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem(),0) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem(),0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem(),0) = 1]
	endwith
	var_Items.AddItem()
oGrid.Columns.Item(0).SortOrder = 1
oGrid.EndUpdate()

1129
Can I sort the column by image

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oGrid.Columns.Add("Image")
	var_Column.SortType = 48
var_Items = oGrid.Items
	// var_Items.CellImage(var_Items.AddItem(),0) = 3
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(AddItem(),0) = 3]
	endwith
	var_Items.AddItem()
	// var_Items.CellImage(var_Items.AddItem(),0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(AddItem(),0) = 1]
	endwith
	// var_Items.CellImage(var_Items.AddItem(),0) = 2
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(AddItem(),0) = 2]
	endwith
oGrid.Columns.Item(0).SortOrder = 1
oGrid.EndUpdate()

1128
Can I sort the column by value(numeric)

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Column = oGrid.Columns.Add("Value")
	// var_Column.Def(17) = 1
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "`<fgcolor=808080><off 4><font ;6> ` + (1 index ``)  + ` </font></off></fgcolor>` + value"
	var_Column.SortType = 17 /*exSortByValue | SortNumeric*/
var_Items = oGrid.Items
	var_Items.AddItem("1")
	var_Items.AddItem("10")
	var_Items.AddItem("2")
	var_Items.AddItem("20")
oGrid.Columns.Item(0).SortOrder = 1
oGrid.EndUpdate()

1127
Can I sort a column by cell's state (checked, unchecked) rather than caption

local oGrid,var_Column,var_Editor,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Column = oGrid.Columns.Add("Check")
	var_Editor = var_Column.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oGrid)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column.SortType = 1
var_Items = oGrid.Items
	var_Items.AddItem(true)
	var_Items.AddItem(false)
	var_Items.AddItem(false)
	var_Items.AddItem(true)
oGrid.Columns.Item(0).SortOrder = 1
oGrid.EndUpdate()

1126
How do I get the item's auto-number, when using FormatColumn property, as CellValue gets empty

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	SelectionChanged = class::nativeObject_SelectionChanged
endwith
*/
// Fired after a new item has been selected.
function nativeObject_SelectionChanged()
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		? "pos: " 
		? var_Items.CellCaption(var_Items.FocusItem,1) 
		? "rpos(1): " 
		? var_Items.CellCaption(var_Items.FocusItem,2) 
		? "rpos(2): " 
		? var_Items.CellCaption(var_Items.FocusItem,3) 
		? "apos: " 
		? var_Items.CellCaption(var_Items.FocusItem,4) 
		? "index: " 
		? var_Items.CellCaption(var_Items.FocusItem,5) 
return

local h,hSel,oGrid,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Columns,var_Items,var_Items1

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.DrawGridLines = -2
oGrid.HeaderAppearance = 4
var_Columns = oGrid.Columns
	var_Columns.Add("Items")
	var_Column = var_Columns.Add("pos")
		var_Column.FormatColumn = "1 pos ``"
		var_Column.Position = 0
		var_Column.Width = 48
		var_Column.AllowSizing = false
	var_Column1 = var_Columns.Add("rpos(1)")
		var_Column1.FormatColumn = "1 rpos ``"
		var_Column1.Position = 1
		var_Column1.Width = 48
		var_Column1.AllowSizing = false
	var_Column2 = var_Columns.Add("rpos(2)")
		var_Column2.FormatColumn = "1 rpos `.||A-Z`"
		var_Column2.Position = 2
		var_Column2.Width = 48
		var_Column2.AllowSizing = false
	var_Column3 = var_Columns.Add("apos")
		var_Column3.FormatColumn = "1 apos ``"
		var_Column3.Position = 3
		var_Column3.Width = 48
		var_Column3.AllowSizing = false
	var_Column4 = var_Columns.Add("index")
		var_Column4.FormatColumn = "1 index ``"
		var_Column4.Position = 4
		var_Column4.Width = 48
		var_Column4.AllowSizing = false
var_Items = oGrid.Items
	h = var_Items.AddItem("Item 1")
	var_Items.InsertItem(h,null,"Child 1")
	hSel = var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	var_Items.AddItem("Item 2")
	var_Items.AddItem("Item 3")
oGrid.EndUpdate()
// oGrid.Items.SelectItem(hSel) = true
var_Items1 = oGrid.Items
with (oGrid)
	TemplateDef = [dim var_Items1]
	TemplateDef = var_Items1
	Template = [var_Items1.SelectItem(hSel) = True]
endwith

1125
How can I display UNICODE characters

local oGrid,var_Column,var_Items,var_StdFont

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_StdFont = oGrid.Font
	var_StdFont.Name = "Arial Unicode"
	var_StdFont.Size = 22
oGrid.HeaderVisible = false
oGrid.DefaultItemHeight = 48
// oGrid.Columns.Add("").Def(17) = 1
var_Column = oGrid.Columns.Add("")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(17) = 1]
endwith
var_Items = oGrid.Items
	var_Items.AddItem("Ӓӓ")
	var_Items.AddItem("ᦜᦝ;ᦞ")
	var_Items.AddItem("ɮɭ;ɯ")
	var_Items.AddItem("勳勴勵勶")
	// var_Items.FormatCell(var_Items.AddItem(oGrid.Version),0) = "(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.FormatCell(AddItem(Me.Version),0) = "(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "]
	endwith
oGrid.EndUpdate()

1124
How do I display the position of the item with 0-padding

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
// oGrid.Columns.Add("Items").FormatColumn = "((1 apos ``) lpad `00`) + `. `  + value"
var_Column = oGrid.Columns.Add("Items")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.FormatColumn = "((1 apos ``) lpad `00`) + `. `  + value"]
endwith
var_Items = oGrid.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
	var_Items.AddItem("Item D")
oGrid.EndUpdate()

1123
Can't get the +/- to be displayed on a divider item. What else can I do

local h,oGrid,var_Column,var_Column1,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.LinesAtRoot = -1
oGrid.DrawGridLines = -1
oGrid.TreeColumnIndex = 0
oGrid.MarkSearchColumn = false
oGrid.FullRowSelect = 0
oGrid.HeaderAppearance = -1 /*0xfffffff8 | Bump | Sunken*/
var_Columns = oGrid.Columns
	// var_Columns.Add("C1").Width = 32
	var_Column = var_Columns.Add("C1")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 32]
	endwith
	// var_Columns.Add("C2").FormatColumn = "1 index ``"
	var_Column1 = var_Columns.Add("C2")
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.FormatColumn = "1 index ``"]
	endwith
var_Items = oGrid.Items
	h = var_Items.AddItem("Cell 1")
	// var_Items.CellSingleLine(h,1) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,1) = False]
	endwith
	h = var_Items.AddItem("This is bit of text merges all cells in the item (divider shows no +/-)")
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.ItemBackColor(h) = 0xf0f0f0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBackColor(h) = 15790320]
	endwith
	// var_Items.ItemDividerLine(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLine(h) = 0]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Cell 3")
	h = var_Items.AddItem("This is bit of text merges all cells in the item (merge shows +/-)")
	// var_Items.ItemBackColor(h) = 0xf0f0f0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBackColor(h) = 15790320]
	endwith
	// var_Items.CellMerge(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellMerge(h,0) = 1]
	endwith
	var_Items.InsertItem(h,null,"Child 3")
	var_Items.InsertItem(h,null,"Child 4")
	// var_Items.ExpandItem(h) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oGrid.EndUpdate()

1122
How can I define a column of button type

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		? Str(var_Items.CellValue(Item,ColIndex)) 
return

local oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Column = oGrid.Columns.Add("Button")
	// var_Column.Def(2) = true
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(2) = True]
	endwith
	// var_Column.Def(3) = false
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(3) = False]
	endwith
	var_Column.FormatColumn = "``"
	var_Column.AllowSizing = false
	var_Column.Width = 48
// oGrid.Columns.Add("Second").FormatColumn = "` Item ` + 1 index ``"
var_Column1 = oGrid.Columns.Add("Second")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.FormatColumn = "` Item ` + 1 index ``"]
endwith
var_Items = oGrid.Items
	var_Items.AddItem("Button 1")
	var_Items.AddItem("Button 2")
	var_Items.AddItem("Button 3 ")
oGrid.EndUpdate()

1121
Is it possible to configure different colour/icon when there is a active filter

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Occurs when filter was changed.
function nativeObject_FilterChange()
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Template = [Background(0) = FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",Columns.Item(0).FilterType)] // oGrid.Background(0) = oGrid.FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",oGrid.Columns.Item(0).FilterType)
return

local oGrid,var_Appearance,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Appearance = oGrid.VisualAppearance
	var_Appearance.RenderType = -16777216
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oGrid.DrawGridLines = -1
oGrid.ShowFocusRect = false
oGrid.Template = [Background(0) = 16777217] // oGrid.Background(0) = 0x1000001
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.HeaderAppearance = 4
oGrid.BackColorHeader = 0xffffff
oGrid.HeaderVisible = true
var_Column = oGrid.Columns.Add("Filter")
	var_Column.DisplayFilterButton = true
	var_Column.AllowSort = false
	var_Column.AllowDragging = false
	var_Column.FilterList = 256
var_Items = oGrid.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
var_Column1 = oGrid.Columns.Item(0)
	var_Column1.Filter = "Item B"
	var_Column1.FilterType = 240
oGrid.ApplyFilter()
oGrid.EndUpdate()

1120
How can I display the type of the value the column display

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = -2
var_Column = oGrid.Columns.Add("Values")
	// var_Column.Def(17) = 1
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "value + ` <off 4><fgcolor=808080>type(` + type(%0) + `)`"
var_Items = oGrid.Items
	var_Items.AddItem()
	var_Items.AddItem(-1)
	var_Items.AddItem("string")
	var_Items.AddItem("01/01/2001")
	var_Items.AddItem(2)
	var_Items.AddItem(true)
	var_Items.AddItem(12.34)
oGrid.EndUpdate()

1119
I want to create a conditional format for a column, verifying that the value of the cell is numeric, how can I do

local oGrid,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormat3,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = -2
oGrid.Columns.Add("Values")
var_ConditionalFormat = oGrid.ConditionalFormats.Add("type(%0) in (2,3,4,5,18,19,20,21)")
	var_ConditionalFormat.ForeColor = 0xff
	var_ConditionalFormat.Bold = true
// oGrid.ConditionalFormats.Add("type(%0) = 11").ForeColor = 0xff00
var_ConditionalFormat1 = oGrid.ConditionalFormats.Add("type(%0) = 11")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat1]
	TemplateDef = var_ConditionalFormat1
	Template = [var_ConditionalFormat1.ForeColor = 65280]
endwith
// oGrid.ConditionalFormats.Add("type(%0) = 7").ForeColor = 0xff0000
var_ConditionalFormat2 = oGrid.ConditionalFormats.Add("type(%0) = 7")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat2]
	TemplateDef = var_ConditionalFormat2
	Template = [var_ConditionalFormat2.ForeColor = 16711680]
endwith
// oGrid.ConditionalFormats.Add("type(%0) in (0,1)").BackColor = 0xf0f0f0
var_ConditionalFormat3 = oGrid.ConditionalFormats.Add("type(%0) in (0,1)")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat3]
	TemplateDef = var_ConditionalFormat3
	Template = [var_ConditionalFormat3.BackColor = 15790320]
endwith
var_Items = oGrid.Items
	var_Items.AddItem()
	var_Items.AddItem(-1)
	var_Items.AddItem("string")
	var_Items.AddItem("01/01/2001")
	var_Items.AddItem(2)
	var_Items.AddItem(true)
	var_Items.AddItem(12.34)
oGrid.EndUpdate()

1118
How can I assign a computed value on a different column based on other columns

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.FreezeEvents(true)
	var_Items = oGrid.Items
		// var_Items.CellValue(Item,1) = oGrid.FormatABC("int(255*sin(value/2))",NewValue)
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,1) = Me.FormatABC("int(255*sin(value/2))",NewValue)]
		endwith
		// var_Items.CellValue(Item,2) = oGrid.FormatABC("int(255*cos(value/2))",NewValue)
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,2) = Me.FormatABC("int(255*cos(value/2))",NewValue)]
		endwith
	oGrid.FreezeEvents(false)
return

local oGrid,var_Column,var_Column1,var_Column2,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.SelBackMode = 1
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = -2
var_Column = oGrid.Columns.Add("Value")
	var_Column.Editor.EditType = 4
	var_Column.Width = 64
	var_Column.AllowSizing = false
// oGrid.Columns.Add("Assign A").Def(4) = 16448250
var_Column1 = oGrid.Columns.Add("Assign A")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.Def(4) = 16448250]
endwith
// oGrid.Columns.Add("Assign B").Def(4) = 16448250
var_Column2 = oGrid.Columns.Add("Assign B")
with (oGrid)
	TemplateDef = [dim var_Column2]
	TemplateDef = var_Column2
	Template = [var_Column2.Def(4) = 16448250]
endwith
var_Column = oGrid.Columns.Add("Computed")
	// var_Column.Def(4) = 16448250
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(4) = 16448250]
	endwith
	var_Column.ComputedField = "%1 + %2"
	var_Column.FormatColumn = "value format ``"
	var_Column.Alignment = 2
	var_Column.HeaderAlignment = var_Column.Alignment
// oGrid.ConditionalFormats.Add("%3 >= 0").Bold = true
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%3 >= 0")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.Bold = True]
endwith
var_Items = oGrid.Items
	var_Items.AddItem(1989)
	var_Items.AddItem(2001)
	var_Items.AddItem(2017)
	var_Items.AddItem(2018)
	var_Items.AddItem(2019)
oGrid.EndUpdate()

1117
How can I get computed a value on a different column

local oGrid,var_Column,var_Column1,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.DrawGridLines = -2
var_Column = oGrid.Columns.Add("Year")
	var_Column.Editor.EditType = 4
	var_Column.Width = 64
	var_Column.AllowSizing = false
// oGrid.Columns.Add("Easter").FormatColumn = "date(dateS('3/1/' + %0)  + ((1:=(((255 - 11 * (%0 mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((%0 + int(%0 / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))"
var_Column1 = oGrid.Columns.Add("Easter")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.FormatColumn = "date(dateS('3/1/' + %0)  + ((1:=(((255 - 11 * (%0 mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((%0 + int(%0 / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))"]
endwith
var_Items = oGrid.Items
	var_Items.AddItem(1989)
	var_Items.AddItem(2001)
	var_Items.AddItem(2017)
	var_Items.AddItem(2018)
	var_Items.AddItem(2019)
oGrid.EndUpdate()

1116
How can I prevent applying ConditionalFormats on a specified cell, for instance I am displaying a Total field, and I will like to have formatted in a different way (method 2)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local h,oGrid,var_Column,var_ConditionalFormat,var_Editor,var_Items,var_Items1

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_ConditionalFormat = oGrid.ConditionalFormats.Add("(%0 >= 0)")
	var_ConditionalFormat.Expression = "(0=type(%CD0)) and (%0 >= 0)"
	var_ConditionalFormat.Bold = true
	var_ConditionalFormat.ForeColor = 0xff
	? "ConditionalFormat.Valid" 
	? Str(var_ConditionalFormat.Valid) 
var_Column = oGrid.Columns.Add("Numbers")
	var_Editor = var_Column.Editor
		var_Editor.Numeric = -1
		var_Editor.EditType = 4
	var_Column.SortType = 1
var_Items = oGrid.Items
	var_Items.AddItem(100)
	var_Items.AddItem(-25)
	var_Items.AddItem(31)
	var_Items.AddItem(-48)
var_Items1 = oGrid.Items
	h = var_Items1.AddItem("sum(all,dir,dbl(%0))")
	// var_Items1.SelectableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items1,h]
		TemplateDef = var_Items1
		TemplateDef = h
		Template = [var_Items1.SelectableItem(h) = False]
	endwith
	// var_Items1.SortableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items1,h]
		TemplateDef = var_Items1
		TemplateDef = h
		Template = [var_Items1.SortableItem(h) = False]
	endwith
	// var_Items1.ItemBackColor(h) = 0xf0f0f0
	with (oGrid)
		TemplateDef = [dim var_Items1,h]
		TemplateDef = var_Items1
		TemplateDef = h
		Template = [var_Items1.ItemBackColor(h) = 15790320]
	endwith
	// var_Items1.CellData(h,0) = "total"
	with (oGrid)
		TemplateDef = [dim var_Items1,h]
		TemplateDef = var_Items1
		TemplateDef = h
		Template = [var_Items1.CellData(h,0) = "total"]
	endwith
	// var_Items1.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
	with (oGrid)
		TemplateDef = [dim var_Items1,h]
		TemplateDef = var_Items1
		TemplateDef = h
		Template = [var_Items1.CellValueFormat(h,0) = 5]
	endwith
	// var_Items1.FormatCell(h,0) = "'Total: <b><fgcolor=0000FF>'+(value format ``)"
	with (oGrid)
		TemplateDef = [dim var_Items1,h]
		TemplateDef = var_Items1
		TemplateDef = h
		Template = [var_Items1.FormatCell(h,0) = "'Total: <b><fgcolor=0000FF>'+(value format ``)"]
	endwith
oGrid.EndUpdate()

1115
How can I prevent applying ConditionalFormats on a specified cell, for instance I am displaying a Total field, and I will like to have formatted in a different way (method 1)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local h,oGrid,var_Column,var_Column1,var_ConditionalFormat,var_Editor,var_Items,var_Items1

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%0 >= 0")
	var_ConditionalFormat.Bold = true
	var_ConditionalFormat.ForeColor = 0xff
	var_ConditionalFormat.ApplyTo = 0
var_Column = oGrid.Columns.Add("Numbers")
	var_Editor = var_Column.Editor
		var_Editor.Numeric = -1
		var_Editor.EditType = 4
	var_Column.SortType = 1
// oGrid.Columns.Add("Total").Visible = false
var_Column1 = oGrid.Columns.Add("Total")
with (oGrid)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.Visible = False]
endwith
var_Items = oGrid.Items
	// var_Items.LockedItemCount(2) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(2) = 1]
	endwith
	h = var_Items.LockedItem(2,0)
	// var_Items.ItemDivider(h) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 1]
	endwith
	// var_Items.ItemDividerLine(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLine(h) = 0]
	endwith
	// var_Items.ItemBackColor(h) = 0xf0f0f0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBackColor(h) = 15790320]
	endwith
	// var_Items.CellValue(h,1) = "sum(all,dir,dbl(%0))"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "sum(all,dir,dbl(%0))"]
	endwith
	// var_Items.CellValueFormat(h,1) = 5 /*exTotalField | exHTML*/
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,1) = 5]
	endwith
	// var_Items.CellHAlignment(h,1) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,1) = 2]
	endwith
	// var_Items.FormatCell(h,1) = "'Total: <b><fgcolor=0000FF>'+(value format ``)"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,1) = "'Total: <b><fgcolor=0000FF>'+(value format ``)"]
	endwith
var_Items1 = oGrid.Items
	var_Items1.AddItem(100)
	var_Items1.AddItem(-25)
	var_Items1.AddItem(31)
	var_Items1.AddItem(-48)
oGrid.EndUpdate()

1114
ADODB Requery sample

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local cmd
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	cmd = new OleAutoClient("ADODB.Command")
		cmd.ActiveConnection = oGrid.DataSource.ActiveConnection
		cmd.CommandText = "INSERT INTO Orders (EmployeeID) VALUES(12345)"
		cmd.CommandType = 1
		cmd.Execute()
	oGrid.DataSource.Requery()
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// Fired when an internal error occurs.
function nativeObject_Error(Error,Description)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	? Str(Description) 
return

local h,oGrid,rs,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.ColumnAutoResize = false
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",1,3)
oGrid.DataSource = rs
// oGrid.ConditionalFormats.Add("%1=12345").BackColor = 0xf0f0f0
var_ConditionalFormat = oGrid.ConditionalFormats.Add("%1=12345")
with (oGrid)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.BackColor = 15790320]
endwith
var_Items = oGrid.Items
	// var_Items.LockedItemCount(0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	h = var_Items.LockedItem(0,0)
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.CellHasButton(h,0) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHasButton(h,0) = True]
	endwith
	// var_Items.CellValue(h,0) = "Requery (add a new record, using ADODB.Command)"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,0) = "Requery (add a new record, using ADODB.Command)"]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
oGrid.EndUpdate()

1113
I am using DetectAddNew property, but no new items is added when AddNew is performed

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local var_Recordset
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Recordset = oGrid.DataSource
		var_Recordset.AddNew("EmployeeID",123)
		var_Recordset.Update()
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// Fired when an internal error occurs.
function nativeObject_Error(Error,Description)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	? Str(Description) 
return

local h,oGrid,rs,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderAppearance = 4
oGrid.ColumnAutoResize = false
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",1,3)
oGrid.DataSource = rs
var_Items = oGrid.Items
	// var_Items.LockedItemCount(0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	h = var_Items.LockedItem(0,0)
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.CellHasButton(h,0) = true
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHasButton(h,0) = True]
	endwith
	// var_Items.CellValue(h,0) = "AddNew"
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,0) = "AddNew"]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
oGrid.DetectAddNew = true
oGrid.DetectDelete = true
oGrid.EndUpdate()

1112
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do

local oGrid,var_Appearance,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_Appearance = oGrid.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxPF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" ;
 +"ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgpDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAMR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBaEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAqBYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeEmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==")
oGrid.BackColorHeader = 0x1000000
oGrid.ForeColorHeader = 0x808080
oGrid.Template = [Background(0) = 33554432] // oGrid.Background(0) = 0x2000000
oGrid.Template = [Background(26) = 16777215] // oGrid.Background(26) = 0xffffff
oGrid.Template = [Background(27) = 65536] // oGrid.Background(27) = 0x10000
oGrid.Template = [Background(20) = 33521664] // oGrid.Background(20) = 0x1ff8000
oGrid.Template = [Background(21) = 15790320] // oGrid.Background(21) = 0xf0f0f0
oGrid.Template = [Background(32) = -1] // oGrid.Background(32) = -1
oGrid.HeaderHeight = 24
oGrid.BackColorLevelHeader = oGrid.BackColor
var_Column = oGrid.Columns.Add("Filter")
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterPattern = false
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
	// var_Column.Def(52) = 2
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(52) = 2]
	endwith
	// var_Column.Def(53) = 2
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(53) = 2]
	endwith
var_Items = oGrid.Items
	var_Items.AddItem("A")
	var_Items.AddItem("B")
	var_Items.AddItem("C")
	var_Items.AddItem("D")
oGrid.EndUpdate()

1111
How can I change the font for entire column (method 3)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		// var_Items.CellFont(Item,1) = oGrid.Columns.Item(1).Data
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellFont(Item,1) = Me.Columns.Item(1).Data]
		endwith
		// var_Items.CellBold(Item,1) = true
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellBold(Item,1) = True]
		endwith
		// var_Items.CellForeColor(Item,1) = 0xff
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellForeColor(Item,1) = 255]
		endwith
return

local f,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderHeight = 24
oGrid.HeaderAppearance = 4
oGrid.Columns.Add("C1")
var_Column = oGrid.Columns.Add("C2")
	var_Column.HTMLCaption = "<b><font Tahoma;14>C2"
	f = new OleAutoClient("StdFont")
		f.Name = "Tahoma"
		f.Size = 11
	var_Column.Data = f
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem(10),1) = 11
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(10),1) = 11]
	endwith
	// var_Items.CellValue(var_Items.AddItem(12),1) = 13
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(12),1) = 13]
	endwith
oGrid.EndUpdate()

1110
How can I change the font for entire column (method 2)

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local f,var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		f = new OleAutoClient("StdFont")
			f.Name = "Tahoma"
			f.Size = 11
		// var_Items.CellFont(Item,1) = f
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellFont(Item,1) = f]
		endwith
		// var_Items.CellBold(Item,1) = true
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellBold(Item,1) = True]
		endwith
		// var_Items.CellForeColor(Item,1) = 0xff
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellForeColor(Item,1) = 255]
		endwith
return

local oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HeaderHeight = 24
oGrid.HeaderAppearance = 4
oGrid.Columns.Add("C1")
// oGrid.Columns.Add("C2").HTMLCaption = "<b><font Tahoma;14>C2"
var_Column = oGrid.Columns.Add("C2")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.HTMLCaption = "<b><font Tahoma;14>C2"]
endwith
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem(10),1) = 11
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(10),1) = 11]
	endwith
	// var_Items.CellValue(var_Items.AddItem(12),1) = 13
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(12),1) = 13]
	endwith
oGrid.EndUpdate()

1109
How can I change the font for entire column (method 1)

local f,oGrid,var_Column,var_ConditionalFormat,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
var_ConditionalFormat = oGrid.ConditionalFormats.Add("1")
	var_ConditionalFormat.Bold = true
	var_ConditionalFormat.ForeColor = 0xff
	f = new OleAutoClient("StdFont")
		f.Name = "Tahoma"
		f.Size = 11
	var_ConditionalFormat.Font = f
	var_ConditionalFormat.ApplyTo = 1 /*0x1 | */
oGrid.HeaderHeight = 24
oGrid.HeaderAppearance = 4
oGrid.Columns.Add("C1")
// oGrid.Columns.Add("C2").HTMLCaption = "<b><font Tahoma;14>C2"
var_Column = oGrid.Columns.Add("C2")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.HTMLCaption = "<b><font Tahoma;14>C2"]
endwith
var_Items = oGrid.Items
	// var_Items.CellValue(var_Items.AddItem(10),1) = 11
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(10),1) = 11]
	endwith
	// var_Items.CellValue(var_Items.AddItem(12),1) = 13
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem(12),1) = 13]
	endwith
oGrid.EndUpdate()

1108
I am using ExComboBox as an user editor, how can I display a different column

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	UserEditorClose = class::nativeObject_UserEditorClose
endwith
*/
// Fired the user editor is about to be opened.
function nativeObject_UserEditorClose(Object,Item,ColIndex)
	/* Items.CellValue(Item,ColIndex) = Object.Select("OrderID") */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	UserEditorOleEvent = class::nativeObject_UserEditorOleEvent
endwith
*/
// Occurs when an user editor fires an event.
function nativeObject_UserEditorOleEvent(Object,Ev,CloseEditor,Item,ColIndex)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	? Str(Ev) 
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	UserEditorOpen = class::nativeObject_UserEditorOpen
endwith
*/
// Occurs when an user editor is about to be opened.
function nativeObject_UserEditorOpen(Object,Item,ColIndex)
	/* Object.Select("OrderID") = Me.Items.CellValue(Item,ColIndex) */
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
return

local h,oGrid,var_Editor,var_Items,var_Object

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.SortOnClick = 0
var_Editor = oGrid.Columns.Add("Exontrol.ComboBox").Editor
	var_Editor.EditType = 16
	var_Editor.UserEditor("Exontrol.ComboBox","")
	var_Object = var_Editor.UserEditorObject
oGrid.DrawGridLines = -2
oGrid.TreeColumnIndex = -1
oGrid.DefaultItemHeight = 21
var_Items = oGrid.Items
	h = var_Items.AddItem("shows always the drop-down editor")
	// var_Items.CellHAlignment(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.ItemDividerLineAlignment(h) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLineAlignment(h) = 1]
	endwith
	// var_Items.SelectableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.EnableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.EnableItem(h) = False]
	endwith
	// var_Items.CellEditorVisible(var_Items.AddItem(10248),0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellEditorVisible(AddItem(10248),0) = 1]
	endwith
	// var_Items.CellEditorVisible(var_Items.AddItem(10249),0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellEditorVisible(AddItem(10249),0) = 1]
	endwith
	// var_Items.CellEditorVisible(var_Items.AddItem(10250),0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellEditorVisible(AddItem(10250),0) = 1]
	endwith
	h = var_Items.AddItem("shows the drop-down editor when user clicks it")
	// var_Items.CellHAlignment(h,0) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.ItemDividerLineAlignment(h) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLineAlignment(h) = 1]
	endwith
	// var_Items.SelectableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.EnableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.EnableItem(h) = False]
	endwith
	var_Items.AddItem(10248)
	var_Items.AddItem(10249)
	var_Items.AddItem(10250)
oGrid.EndUpdate()

1107
The ItemHeight property is not working (method 2)

local h,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.ScrollBySingleLine = true
// oGrid.Columns.Add("Column").Width = 128
var_Column = oGrid.Columns.Add("Column")
with (oGrid)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 128]
endwith
var_Items = oGrid.Items
	// var_Items.CellSingleLine(var_Items.AddItem("This is a bit of text that should break the line"),0) = 0
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellSingleLine(AddItem("This is a bit of text that should break the line"),0) = 0]
	endwith
	h = var_Items.AddItem("")
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.SelectableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.ItemDividerLineAlignment(h) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLineAlignment(h) = 1]
	endwith
	// var_Items.ItemHeight(h) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemHeight(h) = 3]
	endwith
	// var_Items.CellSingleLine(var_Items.AddItem("This is a bit of text that should break the line"),0) = 0
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellSingleLine(AddItem("This is a bit of text that should break the line"),0) = 0]
	endwith
oGrid.EndUpdate()

1106
The ItemHeight property is not working (method 1)

local h,oGrid,var_Column,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.ScrollBySingleLine = true
var_Column = oGrid.Columns.Add("Column")
	var_Column.Width = 128
	// var_Column.Def(16) = 0
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(16) = 0]
	endwith
var_Items = oGrid.Items
	var_Items.AddItem("This is a bit of text that should break the line")
	h = var_Items.AddItem("")
	// var_Items.ItemDivider(h) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.SelectableItem(h) = false
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.ItemDividerLineAlignment(h) = 1
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLineAlignment(h) = 1]
	endwith
	// var_Items.ItemMinHeight(h) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMinHeight(h) = 3]
	endwith
	// var_Items.ItemMaxHeight(h) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMaxHeight(h) = 3]
	endwith
	var_Items.AddItem("This is a bit of text that should break the line")
oGrid.EndUpdate()

1105
How do I add a total field locked at the bottom of the control

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		// var_Items.ItemDividerLine(Item) = 0
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDividerLine(Item) = 0]
		endwith
		// var_Items.FormatCell(Item,var_Items.GroupItem(Item)) = "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.FormatCell(Item,GroupItem(Item)) = "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"]
		endwith
		// var_Items.CellValue(Item,"Min") = "min(current,all,dbl(%6))"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,"Min") = "min(current,all,dbl(%6))"]
		endwith
		// var_Items.CellValueFormat(Item,"Min") = 4
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,"Min") = 4]
		endwith
		// var_Items.CellValue(Item,"Max") = "max(current,all,dbl(%6))"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,"Max") = "max(current,all,dbl(%6))"]
		endwith
		// var_Items.CellValueFormat(Item,"Max") = 4
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,"Max") = 4]
		endwith
		// var_Items.CellValue(Item,"Sum") = "sum(current,all,dbl(%6))"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,"Sum") = "sum(current,all,dbl(%6))"]
		endwith
		// var_Items.CellValueFormat(Item,"Sum") = 4
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,"Sum") = 4]
		endwith
		// var_Items.ItemBackColor(Item) = 0xf0f0f0
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = 15790320]
		endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local hL,oGrid,rs,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HasLines = 0
oGrid.Template = [Description(26) = "Show/Hide"] // oGrid.Description(26) = "Show/Hide"
oGrid.ColumnsFloatBarSortOrder = 1
oGrid.ColumnsFloatBarVisible = 2
oGrid.ColumnAutoResize = false
oGrid.BackColorSortBar = 0xf0f0f0
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3)
oGrid.DataSource = rs
oGrid.SingleSort = false
oGrid.SortBarVisible = true
oGrid.AllowGroupBy = true
oGrid.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
var_Columns = oGrid.Columns
	var_Column = var_Columns.Add("Min")
		var_Column.Visible = false
		var_Column.AllowDragging = false
	var_Column = var_Columns.Add("Max")
		var_Column.Visible = false
		var_Column.Visible = false
		var_Column.AllowDragging = false
	var_Column1 = var_Columns.Add("Sum")
		var_Column1.Visible = false
		var_Column1.Visible = false
		var_Column1.AllowDragging = false
var_Column2 = oGrid.Columns.Item("Freight")
	var_Column2.FormatColumn = "currency(value)"
	// var_Column2.Def(4) = 12895487
	with (oGrid)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(4) = 12895487]
	endwith
	// var_Column2.Def(7) = var_Column2.Def(4)
	with (oGrid)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(7) = Def(4)]
	endwith
	var_Column2.HeaderBold = true
	var_Column2.AllowGroupBy = false
	var_Column2.Alignment = 2
oGrid.ScrollBySingleLine = false
var_Items = oGrid.Items
	// var_Items.LockedItemCount(2) = 2
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(2) = 2]
	endwith
	hL = var_Items.LockedItem(2,0)
	// var_Items.ItemDivider(hL) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemDivider(hL) = 0]
	endwith
	// var_Items.ItemHeight(hL) = 3
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemHeight(hL) = 3]
	endwith
	// var_Items.ItemDividerLineAlignment(hL) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemDividerLineAlignment(hL) = 2]
	endwith
	// var_Items.ItemDividerLine(hL) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemDividerLine(hL) = 2]
	endwith
	hL = var_Items.LockedItem(2,1)
	// var_Items.CellValue(hL,6) = "sum(all,rec,dbl(%6))"
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellValue(hL,6) = "sum(all,rec,dbl(%6))"]
	endwith
	// var_Items.CellValueFormat(hL,6) = 4
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellValueFormat(hL,6) = 4]
	endwith
	// var_Items.ItemHeight(hL) = 24
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemHeight(hL) = 24]
	endwith
	// var_Items.ItemBold(hL) = true
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemBold(hL) = True]
	endwith
oGrid.Columns.Item("EmployeeID").SortOrder = true
oGrid.EndUpdate()

1104
How can I add a total field, when I use grouping

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local var_Items
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	var_Items = oGrid.Items
		// var_Items.ItemDividerLine(Item) = 0
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDividerLine(Item) = 0]
		endwith
		// var_Items.FormatCell(Item,var_Items.GroupItem(Item)) = "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.FormatCell(Item,GroupItem(Item)) = "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"]
		endwith
		// var_Items.CellValue(Item,"Min") = "min(current,all,dbl(%6))"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,"Min") = "min(current,all,dbl(%6))"]
		endwith
		// var_Items.CellValueFormat(Item,"Min") = 4
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,"Min") = 4]
		endwith
		// var_Items.CellValue(Item,"Max") = "max(current,all,dbl(%6))"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,"Max") = "max(current,all,dbl(%6))"]
		endwith
		// var_Items.CellValueFormat(Item,"Max") = 4
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,"Max") = 4]
		endwith
		// var_Items.CellValue(Item,"Sum") = "sum(current,all,dbl(%6))"
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValue(Item,"Sum") = "sum(current,all,dbl(%6))"]
		endwith
		// var_Items.CellValueFormat(Item,"Sum") = 4
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellValueFormat(Item,"Sum") = 4]
		endwith
		// var_Items.ItemBackColor(Item) = 0xf0f0f0
		with (oGrid)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = 15790320]
		endwith
return

/*
with (this.EXGRIDACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Occurs when the user changes the cell's content.
function nativeObject_Change(Item,ColIndex,NewValue)
	oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
	oGrid.Refresh()
return

local hL,oGrid,rs,var_Column,var_Column1,var_Column2,var_Column3,var_Columns,var_Items

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.HasLines = 0
oGrid.ColumnAutoResize = false
oGrid.BackColorSortBar = 0xf0f0f0
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3)
oGrid.DataSource = rs
oGrid.SingleSort = false
oGrid.SortBarVisible = true
oGrid.AllowGroupBy = true
oGrid.Columns.Item(1).SortOrder = true
var_Columns = oGrid.Columns
	// var_Columns.Add("Min").Visible = false
	var_Column = var_Columns.Add("Min")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	// var_Columns.Add("Max").Visible = false
	var_Column1 = var_Columns.Add("Max")
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Visible = False]
	endwith
	// var_Columns.Add("Sum").Visible = false
	var_Column2 = var_Columns.Add("Sum")
	with (oGrid)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Visible = False]
	endwith
var_Column3 = oGrid.Columns.Item("Freight")
	// var_Column3.Def(4) = 12895487
	with (oGrid)
		TemplateDef = [dim var_Column3]
		TemplateDef = var_Column3
		Template = [var_Column3.Def(4) = 12895487]
	endwith
	// var_Column3.Def(7) = var_Column3.Def(4)
	with (oGrid)
		TemplateDef = [dim var_Column3]
		TemplateDef = var_Column3
		Template = [var_Column3.Def(7) = Def(4)]
	endwith
	var_Column3.HeaderBold = true
	var_Column3.AllowGroupBy = false
oGrid.ScrollBySingleLine = false
var_Items = oGrid.Items
	// var_Items.LockedItemCount(2) = 1
	with (oGrid)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(2) = 1]
	endwith
	hL = var_Items.LockedItem(2,0)
	// var_Items.ItemDivider(hL) = 0
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemDivider(hL) = 0]
	endwith
	// var_Items.ItemHeight(hL) = 24
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemHeight(hL) = 24]
	endwith
	// var_Items.ItemDividerLineAlignment(hL) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemDividerLineAlignment(hL) = 2]
	endwith
	// var_Items.ItemDividerLine(hL) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.ItemDividerLine(hL) = 2]
	endwith
	// var_Items.CellValue(hL,0) = "sum(all,rec,dbl(%6))"
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellValue(hL,0) = "sum(all,rec,dbl(%6))"]
	endwith
	// var_Items.CellValueFormat(hL,0) = 5 /*exTotalField | exHTML*/
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellValueFormat(hL,0) = 5]
	endwith
	// var_Items.CellHAlignment(hL,0) = 2
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.CellHAlignment(hL,0) = 2]
	endwith
	// var_Items.FormatCell(hL,0) = "'Freight: <bgcolor=FFC4C4> '+(value format ``) + ` `"
	with (oGrid)
		TemplateDef = [dim var_Items,hL]
		TemplateDef = var_Items
		TemplateDef = hL
		Template = [var_Items.FormatCell(hL,0) = "'Freight: <bgcolor=FFC4C4> '+(value format ``) + ` `"]
	endwith
oGrid.EndUpdate()

1103
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

local oGrid,var_Column,var_Column1,var_Columns

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.HeaderAppearance = 4
var_Columns = oGrid.Columns
	var_Columns.Add("City")
	// var_Columns.Add("Start").Visible = false
	var_Column = var_Columns.Add("Start")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	// var_Columns.Add("End").Visible = false
	var_Column1 = var_Columns.Add("End")
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Visible = False]
	endwith
oGrid.Template = [Description(26) = "Show/Hide"] // oGrid.Description(26) = "Show/Hide"
oGrid.ColumnsFloatBarSortOrder = 1
oGrid.ColumnsFloatBarVisible = 2
oGrid.EndUpdate()

1102
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

local oGrid,var_Column,var_Column1,var_Columns

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.HeaderAppearance = 4
var_Columns = oGrid.Columns
	var_Columns.Add("City")
	// var_Columns.Add("Start").Visible = false
	var_Column = var_Columns.Add("Start")
	with (oGrid)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	// var_Columns.Add("End").Visible = false
	var_Column1 = var_Columns.Add("End")
	with (oGrid)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Visible = False]
	endwith
oGrid.Template = [Description(26) = "Show"] // oGrid.Description(26) = "Show"
oGrid.ColumnsFloatBarVisible = -1
oGrid.ColumnsFloatBarSortOrder = 1
oGrid.EndUpdate()

1101
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

local oGrid,var_Columns

oGrid = form.EXGRIDACTIVEXCONTROL1.nativeObject
oGrid.BeginUpdate()
oGrid.ColumnAutoResize = false
oGrid.HeaderAppearance = 4
var_Columns = oGrid.Columns
	var_Columns.Add("City")
	var_Columns.Add("Start")
	var_Columns.Add("End")
oGrid.AllowGroupBy = true
oGrid.SortBarVisible = true
oGrid.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oGrid.BackColorSortBar = 0xfafafa
oGrid.Template = [Description(26) = "Group-By"] // oGrid.Description(26) = "Group-By"
oGrid.ColumnsFloatBarVisible = 1
oGrid.ColumnsFloatBarSortOrder = 1
oGrid.Columns.Item("City").SortOrder = 1
oGrid.EndUpdate()