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

// Occurs when the user presses and then releases the left mouse button over the grid control.
Procedure OnComClick 
	Forward Send OnComClick 
	Set ComLayout to "Select="0";SingleSort="C0:2";Columns=1"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1217
How can I add totals to groups without having to go through the AddGroupItem grid function

Procedure OnCreate
	Forward Send OnCreate
	Send ComFreezeEvents True
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CT1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComForeColor of hoConditionalFormat to (RGB(128,128,128))
			Set ComApplyTo of hoConditionalFormat to |CI$1
		Send Destroy to hoConditionalFormat
		Variant voConditionalFormat1
		Get ComAdd of hoConditionalFormats "%CT2" Nothing to voConditionalFormat1
		Handle hoConditionalFormat1
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
		Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
			Set ComForeColor of hoConditionalFormat1 to (RGB(128,128,128))
			Set ComApplyTo of hoConditionalFormat1 to |CI$2
		Send Destroy to hoConditionalFormat1
		Variant voConditionalFormat2
		Get ComAdd of hoConditionalFormats "%CT3" Nothing to voConditionalFormat2
		Handle hoConditionalFormat2
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat2
		Set pvComObject of hoConditionalFormat2 to voConditionalFormat2
			Set ComForeColor of hoConditionalFormat2 to (RGB(128,128,128))
			Set ComApplyTo of hoConditionalFormat2 to |CI$3
		Send Destroy to hoConditionalFormat2
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Description" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Qty" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComDef of hoColumn OLEexTotalColumn to "sum(current,rec,%1)"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Price" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexTotalColumn to "avg(current,rec,%2)"
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLESpinType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Amount" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComComputedField of hoColumn2 to "%1 * %2"
			Set ComDef of hoColumn2 OLEexTotalColumn to "sum(current,rec,%3)"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant r
		Get ComAddItem of hoItems "Root" to r
		Variant g1
		Get ComInsertItem of hoItems r "Group 1" to g1
		Variant h
		Get ComInsertItem of hoItems g1 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 1
		Set ComCellValue of hoItems h 2 to 10
		Get ComInsertItem of hoItems g1 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 2
		Set ComCellValue of hoItems h 2 to 11
		Variant g2
		Get ComInsertItem of hoItems r "Group 2" to g2
		Get ComInsertItem of hoItems g2 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 3
		Set ComCellValue of hoItems h 2 to 12
		Get ComInsertItem of hoItems g2 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 4
		Set ComCellValue of hoItems h 2 to 13
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Send ComFreezeEvents False
End_Procedure
1216
How can I configure the filters in the text columns to search by content

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComHeaderAppearance to OLENone2
	Set ComFilterBarPromptType to OLEexFilterPromptContainsAll
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Names" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Mantel" to Nothing
		Get ComAddItem of hoItems "Mechanik" to Nothing
		Get ComAddItem of hoItems "Motor" to Nothing
		Get ComAddItem of hoItems "Murks" to Nothing
		Get ComAddItem of hoItems "Märchen" to Nothing
		Get ComAddItem of hoItems "Möhren" to Nothing
		Get ComAddItem of hoItems "Mühle" to Nothing
		Get ComAddItem of hoItems "Sérigraphie" to Nothing
	Send Destroy to hoItems
	Set ComFilterBarPromptPattern to "a"
	Send ComEndUpdate
End_Procedure
1215
How can I display the control's captions in Spanish

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComHeaderAppearance to OLENone2
	Set ComDescription OLEexFilterBarAll to "(todo) "
	Set ComDescription OLEexFilterBarFilterForCaption to "filtrar por..."
	Set ComFilterBarPrompt to "<i><fgcolor=808080>iniciar filtro...</fgcolor></i>"
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Names" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexPattern
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Mantel" to Nothing
		Get ComAddItem of hoItems "Mechanik" to Nothing
		Get ComAddItem of hoItems "Motor" to Nothing
		Get ComAddItem of hoItems "Murks" to Nothing
		Get ComAddItem of hoItems "Märchen" to Nothing
		Get ComAddItem of hoItems "Möhren" to Nothing
		Get ComAddItem of hoItems "Mühle" to Nothing
		Get ComAddItem of hoItems "Sérigraphie" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1214
How can I zoom in the control

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant s1
	Move 16 to s1
	Variant s2
	Get ComFormatABC "2 * value" s1 Nothing Nothing to s2
	Set ComImageSize to s2
	Set ComDefaultItemHeight to s2
	Set ComHeaderHeight to s2
	Set ComSortBarHeight to s2
	Set ComIndent to s2
	Variant voStdFont
	Get ComFont to voStdFont
	Handle hoStdFont
	Get Create (RefClass(cComStdFont)) to hoStdFont
	Set pvComObject of hoStdFont to voStdFont
		Set ComSize of hoStdFont to s1
	Send Destroy to hoStdFont
	Variant voStdFont1
	Get ComFilterBarFont to voStdFont1
	Handle hoStdFont1
	Get Create (RefClass(cComStdFont)) to hoStdFont1
	Set pvComObject of hoStdFont1 to voStdFont1
		Set ComSize of hoStdFont1 to s1
	Send Destroy to hoStdFont1
	Variant voStdFont2
	Get ComToolTipFont to voStdFont2
	Handle hoStdFont2
	Get Create (RefClass(cComStdFont)) to hoStdFont2
	Set pvComObject of hoStdFont2 to voStdFont2
		Set ComSize of hoStdFont2 to s1
	Send Destroy to hoStdFont2
	Set ComFilterBarPromptVisible to OLEexFilterBarPromptVisible
	Set ComHeaderAppearance to OLENone2
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Names" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexPattern
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Mantel" to Nothing
		Get ComAddItem of hoItems "Mechanik" to Nothing
		Get ComAddItem of hoItems "Motor" to Nothing
		Get ComAddItem of hoItems "Murks" to Nothing
		Get ComAddItem of hoItems "Märchen" to Nothing
		Get ComAddItem of hoItems "Möhren" to Nothing
		Get ComAddItem of hoItems "Mühle" to Nothing
		Get ComAddItem of hoItems "Sérigraphie" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
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

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to True
			Set ComDef of hoColumn OLEexFilterPatternTemplate to "*<%filter%>*"
			Set ComFilterType of hoColumn to OLEexPattern
			Set ComFilter of hoColumn to "1"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1212
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Column 2" to Nothing
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Get ComAdd of hoColumns2 "Column 3" to Nothing
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Get ComAdd of hoColumns3 "Column 4" to Nothing
	Send Destroy to hoColumns3
	Send ComEndUpdate
End_Procedure
1211
Load data as a tree using a parent-id relationship

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComDrawGridLines to OLEexVLines
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Select * FROM Employees WHERE 1=0" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Employees" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Send ComPutItems rs ";0;17"
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1210
Is there a way to change the contents of the drop down editor based on a value in another column

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellEditorVisible of hoItems llItem 0 to OLEexEditorVisible
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellEditorVisible of hoItems1 llItem 1 to OLEexEditorVisible
	Send Destroy to hoItems1
End_Procedure

// Occurs when the edit operation starts.
Procedure OnComEditOpen 
	Forward Send OnComEditOpen 
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Variant v
		Get ComCellValue of hoItems2 (ComFocusItem(hoItems2)) 0 to v
		Variant c
		Get ComCellCaption of hoItems2 (ComFocusItem(hoItems2)) 0 to c
	Send Destroy to hoItems2
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Send ComClearItems of hoEditor
				Send ComAddItem of hoEditor v c Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "DropDownList" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEDropDownListType
				Send ComAddItem of hoEditor1 1 "First" Nothing
				Send ComAddItem of hoEditor1 2 "Second" Nothing
				Send ComAddItem of hoEditor1 3 "Third" Nothing
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComDrawGridLines to OLEexAllLines
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "DropDownList-Related" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor2
			Get ComEditor of hoColumn2 to voEditor2
			Handle hoEditor2
			Get Create (RefClass(cComEditor)) to hoEditor2
			Set pvComObject of hoEditor2 to voEditor2
				Set ComEditType of hoEditor2 to OLEDropDownListType
			Send Destroy to hoEditor2
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems3
	Get ComItems to voItems3
	Handle hoItems3
	Get Create (RefClass(cComItems)) to hoItems3
	Set pvComObject of hoItems3 to voItems3
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,1)) 1 to -1
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,2)) 1 to -1
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,3)) 1 to -1
		Set ComLockedItemCount of hoItems3 OLEexBottom to 1
		Variant h
		Get ComLockedItem of hoItems3 OLEexBottom 0 to h
		Set ComItemDivider of hoItems3 h to 0
		Set ComItemDividerLineAlignment of hoItems3 h to OLEDividerTop
		Set ComCellEditorVisible of hoItems3 h 0 to False
		Set ComCellSingleLine of hoItems3 h 0 to False
		Set ComCellValueFormat of hoItems3 h 0 to OLEexHTML
		Set ComCellValue of hoItems3 h 0 to "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."
	Send Destroy to hoItems3
	Send ComEndUpdate
End_Procedure
1209
Highlight the editable fields

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComFreezeEvents True
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CE1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
			Set ComBackColor of hoConditionalFormat to (RGB(245,245,245))
			Set ComApplyTo of hoConditionalFormat to |CI$1
		Send Destroy to hoConditionalFormat
		Variant voConditionalFormat1
		Get ComAdd of hoConditionalFormats "%CE2" Nothing to voConditionalFormat1
		Handle hoConditionalFormat1
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
		Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
			Set ComBold of hoConditionalFormat1 to True
			Set ComBackColor of hoConditionalFormat1 to (RGB(245,245,245))
			Set ComApplyTo of hoConditionalFormat1 to |CI$2
		Send Destroy to hoConditionalFormat1
		Variant voConditionalFormat2
		Get ComAdd of hoConditionalFormats "%CE3" Nothing to voConditionalFormat2
		Handle hoConditionalFormat2
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat2
		Set pvComObject of hoConditionalFormat2 to voConditionalFormat2
			Set ComBold of hoConditionalFormat2 to True
			Set ComBackColor of hoConditionalFormat2 to (RGB(245,245,245))
			Set ComApplyTo of hoConditionalFormat2 to |CI$3
		Send Destroy to hoConditionalFormat2
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Description" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Qty" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComDef of hoColumn OLEexTotalColumn to "sum(current,rec,%1)"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Price" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexTotalColumn to "avg(current,rec,%2)"
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLESpinType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Amount" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComComputedField of hoColumn2 to "%1 * %2"
			Set ComDef of hoColumn2 OLEexTotalColumn to "sum(current,rec,%3)"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant r
		Get ComAddItem of hoItems "Root" to r
		Variant g1
		Get ComInsertItem of hoItems r "Group 1" to g1
		Variant h
		Get ComInsertItem of hoItems g1 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 1
		Set ComCellValue of hoItems h 2 to 10
		Get ComInsertItem of hoItems g1 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 2
		Set ComCellValue of hoItems h 2 to 11
		Variant g2
		Get ComInsertItem of hoItems r "Group 2" to g2
		Get ComInsertItem of hoItems g2 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 3
		Set ComCellValue of hoItems h 2 to 12
		Get ComInsertItem of hoItems g2 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 4
		Set ComCellValue of hoItems h 2 to 13
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Send ComFreezeEvents False
End_Procedure
1208
Highlight the total fields

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComFreezeEvents True
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CT1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComForeColor of hoConditionalFormat to (RGB(128,128,128))
			Set ComApplyTo of hoConditionalFormat to |CI$1
		Send Destroy to hoConditionalFormat
		Variant voConditionalFormat1
		Get ComAdd of hoConditionalFormats "%CT2" Nothing to voConditionalFormat1
		Handle hoConditionalFormat1
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
		Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
			Set ComForeColor of hoConditionalFormat1 to (RGB(128,128,128))
			Set ComApplyTo of hoConditionalFormat1 to |CI$2
		Send Destroy to hoConditionalFormat1
		Variant voConditionalFormat2
		Get ComAdd of hoConditionalFormats "%CT3" Nothing to voConditionalFormat2
		Handle hoConditionalFormat2
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat2
		Set pvComObject of hoConditionalFormat2 to voConditionalFormat2
			Set ComForeColor of hoConditionalFormat2 to (RGB(128,128,128))
			Set ComApplyTo of hoConditionalFormat2 to |CI$3
		Send Destroy to hoConditionalFormat2
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Description" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Qty" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComDef of hoColumn OLEexTotalColumn to "sum(current,rec,%1)"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Price" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexTotalColumn to "avg(current,rec,%2)"
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLESpinType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Amount" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComComputedField of hoColumn2 to "%1 * %2"
			Set ComDef of hoColumn2 OLEexTotalColumn to "sum(current,rec,%3)"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant r
		Get ComAddItem of hoItems "Root" to r
		Variant g1
		Get ComInsertItem of hoItems r "Group 1" to g1
		Variant h
		Get ComInsertItem of hoItems g1 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 1
		Set ComCellValue of hoItems h 2 to 10
		Get ComInsertItem of hoItems g1 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 2
		Set ComCellValue of hoItems h 2 to 11
		Variant g2
		Get ComInsertItem of hoItems r "Group 2" to g2
		Get ComInsertItem of hoItems g2 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 3
		Set ComCellValue of hoItems h 2 to 12
		Get ComInsertItem of hoItems g2 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 4
		Set ComCellValue of hoItems h 2 to 13
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Send ComFreezeEvents False
End_Procedure
1207
Highlight the leaf items

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CC0=0" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComForeColor of hoConditionalFormat to (RGB(128,128,128))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 16
		Send Destroy to hoColumn
		Get ComAdd of hoColumns "Desc" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant hR
		Get ComAddItem of hoItems "Root" to hR
		Set ComCellValue of hoItems hR 1 to "The root directory /"
		Set ComExpandItem of hoItems hR to True
		Variant h
		Get ComInsertItem of hoItems hR "Home" to h
		Set ComCellValue of hoItems h 1 to "The home directory with user directories Alice and Bob"
		Get ComInsertItem of hoItems h "Alice" to Nothing
		Get ComInsertItem of hoItems h "Bob" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComInsertItem of hoItems hR "Etc" to h
		Set ComCellValue of hoItems h 1 to "The etc directory with one configuration file"
		Get ComInsertItem of hoItems h "nginx.conf" to h
		Set ComCellValue of hoItems (ComInsertItem(hoItems,hR,"Var")) 1 to "The var directory"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1206
Highlight the parent items

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CC0" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComForeColor of hoConditionalFormat to (RGB(255,0,0))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 16
		Send Destroy to hoColumn
		Get ComAdd of hoColumns "Desc" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant hR
		Get ComAddItem of hoItems "Root" to hR
		Set ComCellValue of hoItems hR 1 to "The root directory /"
		Set ComExpandItem of hoItems hR to True
		Variant h
		Get ComInsertItem of hoItems hR "Home" to h
		Set ComCellValue of hoItems h 1 to "The home directory with user directories Alice and Bob"
		Get ComInsertItem of hoItems h "Alice" to Nothing
		Get ComInsertItem of hoItems h "Bob" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComInsertItem of hoItems hR "Etc" to h
		Set ComCellValue of hoItems h 1 to "The etc directory with one configuration file"
		Get ComInsertItem of hoItems h "nginx.conf" to h
		Set ComCellValue of hoItems (ComInsertItem(hoItems,hR,"Var")) 1 to "The var directory"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1205
Highlight the item being expanded or collapsed

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%CX0" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 16
		Send Destroy to hoColumn
		Get ComAdd of hoColumns "Desc" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant hR
		Get ComAddItem of hoItems "Root" to hR
		Set ComCellValue of hoItems hR 1 to "The root directory /"
		Set ComExpandItem of hoItems hR to True
		Variant h
		Get ComInsertItem of hoItems hR "Home" to h
		Set ComCellValue of hoItems h 1 to "The home directory with user directories Alice and Bob"
		Get ComInsertItem of hoItems h "Alice" to Nothing
		Get ComInsertItem of hoItems h "Bob" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComInsertItem of hoItems hR "Etc" to h
		Set ComCellValue of hoItems h 1 to "The etc directory with one configuration file"
		Get ComInsertItem of hoItems h "nginx.conf" to h
		Set ComCellValue of hoItems (ComInsertItem(hoItems,hR,"Var")) 1 to "The var directory"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1204
I am using exTotalColumn. Is there an option to exclude specific cells to display the total

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComFreezeEvents True
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Description" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Qty" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComDef of hoColumn OLEexTotalColumn to "sum(current,rec,%1)"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Price" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexTotalColumn to "avg(current,rec,%2)"
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLESpinType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Amount" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComComputedField of hoColumn2 to "%1 * %2"
			Set ComDef of hoColumn2 OLEexTotalColumn to "sum(current,rec,%3)"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant r
		Get ComAddItem of hoItems "Root" to r
		Variant g1
		Get ComInsertItem of hoItems r "Group 1" to g1
		Set ComFormatCell of hoItems g1 2 to "`<average missing>`"
		Set ComCellEditorVisible of hoItems g1 2 to False
		Set ComCellBold of hoItems g1 2 to True
		Set ComCellForeColor of hoItems g1 2 to (RGB(255,0,0))
		Variant h
		Get ComInsertItem of hoItems g1 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 1
		Set ComCellValue of hoItems h 2 to 10
		Get ComInsertItem of hoItems g1 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 2
		Set ComCellValue of hoItems h 2 to 11
		Variant g2
		Get ComInsertItem of hoItems r "Group 2" to g2
		Get ComInsertItem of hoItems g2 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 3
		Set ComCellValue of hoItems h 2 to 12
		Get ComInsertItem of hoItems g2 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 4
		Set ComCellValue of hoItems h 2 to 13
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Send ComFreezeEvents False
End_Procedure
1203
How can I add a total column

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComFreezeEvents True
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Description" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Qty" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComDef of hoColumn OLEexTotalColumn to "sum(current,rec,%1)"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Price" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexTotalColumn to "avg(current,rec,%2)"
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLESpinType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Amount" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComComputedField of hoColumn2 to "%1 * %2"
			Set ComDef of hoColumn2 OLEexTotalColumn to "sum(current,rec,%3)"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant r
		Get ComAddItem of hoItems "Root" to r
		Variant g1
		Get ComInsertItem of hoItems r "Group 1" to g1
		Variant h
		Get ComInsertItem of hoItems g1 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 1
		Set ComCellValue of hoItems h 2 to 10
		Get ComInsertItem of hoItems g1 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 2
		Set ComCellValue of hoItems h 2 to 11
		Variant g2
		Get ComInsertItem of hoItems r "Group 2" to g2
		Get ComInsertItem of hoItems g2 "Item 1" to h
		Set ComCellValue of hoItems h 1 to 3
		Set ComCellValue of hoItems h 2 to 12
		Get ComInsertItem of hoItems g2 "Item 2" to h
		Set ComCellValue of hoItems h 1 to 4
		Set ComCellValue of hoItems h 2 to 13
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Send ComFreezeEvents False
End_Procedure
1202
Is it possible to disable sizing(size) the column
Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "32px" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 32
			Set ComAllowSizing of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Rest" to Nothing
	Send Destroy to hoColumns1
	Set ComColumnAutoResize to True
	Send ComEndUpdate
End_Procedure
1201
How can I add two columns of 25% and the third of 50%

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "25%" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 25
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "25%" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComWidth of hoColumn1 to 25
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "50%" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComWidth of hoColumn2 to 50
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Set ComColumnAutoResize to True
	Send ComEndUpdate
End_Procedure
1200
I add two columns but I see a third column

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C2" to Nothing
	Send Destroy to hoColumns1
	Set ComColumnAutoResize to True
	Send ComEndUpdate
End_Procedure
1199
I lose the hierarchy, all items are on the same 1st level, while I use PutItems

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Emily")) 1 to "William"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Sophia")) 1 to "Alexander"
	Send Destroy to hoItems
	Variant vParent
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComItemByIndex of hoItems1 0 to vParent
	Send Destroy to hoItems1
	Send ComPutItems (ComGetItems(Self,"")) vParent
	Variant vParent1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Get ComItemByIndex of hoItems2 1 to vParent1
	Send Destroy to hoItems2
	Send ComPutItems (ComGetItems(Self,"")) vParent1
	Variant vParent2
	Variant voItems3
	Get ComItems to voItems3
	Handle hoItems3
	Get Create (RefClass(cComItems)) to hoItems3
	Set pvComObject of hoItems3 to voItems3
		Get ComItemByIndex of hoItems3 6 to vParent2
	Send Destroy to hoItems3
	Send ComPutItems (ComGetItems(Self,"")) vParent2
	Variant voItems4
	Get ComItems to voItems4
	Handle hoItems4
	Get Create (RefClass(cComItems)) to hoItems4
	Set pvComObject of hoItems4 to voItems4
		Set ComExpandItem of hoItems4 0 to True
	Send Destroy to hoItems4
	Send ComEndUpdate
End_Procedure
1198
Column width set by code is ignored or it seems that does not work

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 32
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "C2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComWidth of hoColumn1 to 132
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "C3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComWidth of hoColumn2 to 264
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComEndUpdate
End_Procedure
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
// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Showln "Total: " (ComCellCaption(hoItems,(ComLockedItem(hoItems,OLEexTop,0)),0))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComNumeric of hoEditor to OLEexInteger
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComSortType of hoColumn to OLESortNumeric
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComLockedItemCount of hoItems1 OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems1 OLEexTop 0 to h
		Set ComItemBackColor of hoItems1 h to (RGB(240,240,240))
		Set ComCellValue of hoItems1 h 0 to "sum(all,dir,dbl(%0))"
		Set ComCellValueFormat of hoItems1 h 0 to OLEexTotalField
		Set ComCellHAlignment of hoItems1 h 0 to OLERightAlignment
		Set ComFormatCell of hoItems1 h 0 to "'Total: '+value"
	Send Destroy to hoItems1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Get ComAddItem of hoItems2 10 to Nothing
		Get ComAddItem of hoItems2 25 to Nothing
		Get ComAddItem of hoItems2 31 to Nothing
		Get ComAddItem of hoItems2 48 to Nothing
	Send Destroy to hoItems2
	Send ComEndUpdate
End_Procedure
1196
Disable temporarily the column's sort, resize and drag and drop

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)"
	Set ComAllowGroupBy to True
	Set ComHeaderEnabled to False
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Index" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "1 index ``"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Edit" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor
			Get ComEditor of hoColumn2 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Set ComDrawGridLines to OLEexVLines
	Set ComGridLineColor to (RGB(224,224,224))
	Send ComEndUpdate
End_Procedure
1195
I wonder if it’s possible to highlight/select a column like Excel
// Fired after the user clicks on column's header.
Procedure OnComColumnClick Variant   llColumn
	Forward Send OnComColumnClick llColumn
	// Column.Selected = True
	// FocusColumnIndex = Column.Index
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSelected of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSelected of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 2 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComSelected of hoColumn2 to False
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Send ComSelectAll of hoItems
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComHeaderAppearance to OLEEtched
	Set ComMarkSearchColumn to False
	Set ComSingleSel to False
	Set ComFullRowSelect to OLEexRectSel
	Set ComSortOnClick to OLEexNoSort
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Get ComAdd of hoColumns3 "Column1" to Nothing
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Get ComAdd of hoColumns4 "Column2" to Nothing
	Send Destroy to hoColumns4
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Get ComAdd of hoColumns5 "Column3" to Nothing
	Send Destroy to hoColumns5
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComDefaultItem of hoItems1 to (ComAddItem(hoItems1,0))
		Set ComCellValue of hoItems1 0 1 to 1
		Set ComCellValue of hoItems1 0 2 to 2
		Set ComDefaultItem of hoItems1 to (ComAddItem(hoItems1,3))
		Set ComCellValue of hoItems1 0 1 to 4
		Set ComCellValue of hoItems1 0 2 to 5
		Set ComDefaultItem of hoItems1 to (ComAddItem(hoItems1,6))
		Set ComCellValue of hoItems1 0 1 to 7
		Set ComCellValue of hoItems1 0 2 to 8
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1194
Is it possible to change the color of the border

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABc8IQAAYAQGKIcBiAKBQAGaAoDDMMwyQwAAxDMK8EwsACEIrjKCRShyCYZRhGcTALBIBQSHAZZKgOJIRDENg2SANACRfIUaw1DqBZwkGZoWhGKgAShIEDwSKkQBlECeJpnKaqIomJYnDLQUw0NL9HQ3JaaKqnWLBVCWEQyVzEIyjBT0EzHMqtKrjaA6NpaP4oT7LEIydKFCRJNi0bSnGqaOj6UJSURRVq3TTFcTyAC3ahuOo4cpXB4SWrOd41fYNOTQACzbCsSIcPxCe6GXjiNwjPKMWhnIq+M5wXIrJyKCYUaTcejzfgdU5XWqeMoyewMXxmZqbXw/fBYRrEL5vTqNXTzSA4BEB" to Nothing
	Send Destroy to hoAppearance
	Set ComAppearance to |CI$100ff00
	Set ComColumnAutoResize to True
	Set ComHeaderAppearance to OLEEtched
	Set ComTreeColumnIndex to -1
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "before item" to Nothing
		Get ComAddItem of hoItems "item" to Nothing
		Get ComAddItem of hoItems "after item" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1193
Expandable-caption

// Occurs when an anchor element is clicked.
Procedure OnComAnchorClick String   llAnchorID String   llOptions
	Forward Send OnComAnchorClick llAnchorID llOptions
	Showln llAnchorID
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Set ComTreeColumnIndex to -1
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Set ComBackColorAlternate to (RGB(240,240,240))
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "before item" to Nothing
		Variant h
		Get ComAddItem of hoItems "<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)" to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComCellSingleLine of hoItems h 0 to False
		Get ComAddItem of hoItems "after item" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1192
Expandable-caption

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Set ComTreeColumnIndex to -1
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Set ComBackColorAlternate to (RGB(240,240,240))
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "before item" to Nothing
		Variant h
		Get ComAddItem of hoItems "<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3" to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComCellSingleLine of hoItems h 0 to False
		Get ComAddItem of hoItems "after item" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1191
Force hover-all feature
Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexScrollHoverAll to -1
End_Procedure
1190
Disable hover-all feature (Windows 11 or greater)
Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexScrollHoverAll to (RGB(1,0,0))
End_Procedure
1189
Display a custom tooltip
// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
	Send ComShowToolTip "new content" "" "+8" "+8"
End_Procedure


1188
Shows the tooltip of the object moved relative to its default position
// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
	Send ComShowToolTip "<null>" "<null>" "+8" "+8"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "tootip" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComToolTip of hoColumn to "this is a tooltip assigned to a column"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
End_Procedure
1187
Delete all records
// Occurs when user clicks on the cell's button.
Procedure OnComButtonClick HITEM   llItem Integer   llColIndex Variant   llKey
	Forward Send OnComButtonClick llItem llColIndex llKey
	Variant cmd
	Get Comcreateobject "ADODB.Command" to cmd
		Variant v
			Variant voRecordset
			Get ComDataSource to voRecordset
			Handle hoRecordset
			Get Create (RefClass(cComRecordset)) to hoRecordset
			Set pvComObject of hoRecordset to voRecordset
				Get ComActiveConnection of hoRecordset to v
			Send Destroy to hoRecordset
		Set ComActiveConnection to v
		Set ComCommandText to "Delete * from ORDERS"
		Set ComCommandType to OLEadCmdText
		Get ComExecute Nothing Nothing Nothing to Nothing
	Variant voRecordset1
	Get ComDataSource to voRecordset1
	Handle hoRecordset1
	Get Create (RefClass(cComRecordset)) to hoRecordset1
	Set pvComObject of hoRecordset1 to voRecordset1
		Send ComRequery of hoRecordset1 Nothing
	Send Destroy to hoRecordset1
End_Procedure

// Fired when an internal error occurs.
Procedure OnComError Integer   llError String   llDescription
	Forward Send OnComError llError llDescription
	Showln llDescription
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Select * From Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenKeyset OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%1=12345" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to (RGB(240,240,240))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems OLEexTop 0 to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellHasButton of hoItems h 0 to True
		Set ComCellValue of hoItems h 0 to "Requery (delete all records, using ADODB.Command)"
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1186
How can I get a cell that shows the sum of a column of minutes in hours + minutes format

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Minutes" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortNumeric
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to OLEexInteger
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 10 to Nothing
		Get ComAddItem of hoItems 20 to Nothing
		Get ComAddItem of hoItems 30 to Nothing
		Get ComAddItem of hoItems 40 to Nothing
		Get ComAddItem of hoItems 50 to Nothing
		Variant h
		Get ComAddItem of hoItems "sum(all,dir,dbl(%0))" to h
		Set ComSelectableItem of hoItems h to False
		Set ComSortableItem of hoItems h to False
		Set ComCellValueFormat of hoItems h 0 to (OLEexTotalField + OLEexHTML)
		Set ComCellHAlignment of hoItems h 0 to OLERightAlignment
		Set ComFormatCell of hoItems h 0 to "'<b>HH:NN</b>: '+ (int(value/60) lpad '00') + ':' + ((value mod 60) lpad '00')"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1185
Highlight the match once the filter is applied

// Occurs when filter was changed.
Procedure OnComFilterChange 
	Forward Send OnComFilterChange 
	Variant format
	Get ComFormatABC "`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`" (ComFilterBarPromptPattern(Self)) Nothing Nothing to format
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to format
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to format
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 2 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to format
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComColumnAutoResize to True
	Set ComContinueColumnScroll to False
	Set ComMarkSearchColumn to False
	Set ComSearchColumnIndex to 1
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 23
	Set ComBackColorLevelHeader to (ComBackColor(Self))
	Set ComFilterBarCaption to "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Set ComFilterBarBackColor to (ComBackColor(Self))
	Set ComFilterBarPromptPattern to "and"
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Name" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDef of hoColumn3 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn3 to "lower(value)"
		Send Destroy to hoColumn3
		Variant voColumn4
		Get ComAdd of hoColumns3 "Title" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComDef of hoColumn4 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn4 to "lower(value)"
		Send Destroy to hoColumn4
		Variant voColumn5
		Get ComAdd of hoColumns3 "City" to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComDef of hoColumn5 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn5 to "lower(value)"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns3
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h0
		Get ComAddItem of hoItems "Nancy Davolio" to h0
		Set ComCellValue of hoItems h0 1 to "Sales Representative"
		Set ComCellValue of hoItems h0 2 to "Seattle"
		Get ComAddItem of hoItems "Andrew Fuller" to h0
		Set ComCellValue of hoItems h0 1 to "Vice President, Sales"
		Set ComCellValue of hoItems h0 2 to "Tacoma"
		Set ComSelectItem of hoItems h0 to True
		Get ComAddItem of hoItems "Janet Leverling" to h0
		Set ComCellValue of hoItems h0 1 to "Sales Representative"
		Set ComCellValue of hoItems h0 2 to "Kirkland"
		Get ComAddItem of hoItems "Margaret Peacock" to h0
		Set ComCellValue of hoItems h0 1 to "Sales Representative"
		Set ComCellValue of hoItems h0 2 to "Redmond"
		Get ComAddItem of hoItems "Steven Buchanan" to h0
		Set ComCellValue of hoItems h0 1 to "Sales Manager"
		Set ComCellValue of hoItems h0 2 to "London"
		Get ComAddItem of hoItems "Michael Suyama" to h0
		Set ComCellValue of hoItems h0 1 to "Sales Representative"
		Set ComCellValue of hoItems h0 2 to "London"
		Get ComAddItem of hoItems "Robert King" to h0
		Set ComCellValue of hoItems h0 1 to "Sales Representative"
		Set ComCellValue of hoItems h0 2 to "London"
		Get ComAddItem of hoItems "Laura Callahan" to h0
		Set ComCellValue of hoItems h0 1 to "Inside Sales Coordinator"
		Set ComCellValue of hoItems h0 2 to "Seattle"
		Get ComAddItem of hoItems "Anne Dodsworth" to h0
		Set ComCellValue of hoItems h0 1 to "Sales Representative"
		Set ComCellValue of hoItems h0 2 to "London"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1184
The count of filtered items includes the group-parents. How can I exclude them from count

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexVLines
	Set ComHeaderAppearance to OLEFlat
	Set ComHeaderHeight to 24
	Set ComSortBarHeight to 28
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Col 1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Col 2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"219 Smith")) 1 to "Ignacio 1234"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"1666 County Road 309A")) 1 to "897 Manassa"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"38 Lone Pine")) 1 to "Durango 11"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"612 Jachim Street")) 1 to "Lamar 222"
	Send Destroy to hoItems
	Set ComLayout to "MultipleSort="C1:1""
	Set ComFilterBarCaption to "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? leafitemcount + ` result(s)` : ``)"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Set ComFilterBarPromptType to (OLEexFilterPromptCaseSensitive + OLEexFilterPromptContainsAll)
	Set ComFilterBarPromptPattern to "12"
	Set ComFilterBarBackColor to (ComBackColor(Self))
	Send ComEndUpdate
End_Procedure
1183
Is it possible to display the count of filtered items

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexVLines
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Col 1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Col 2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"219 Smith")) 1 to "Ignacio 1234"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"1666 County Road 309A")) 1 to "897 Manassa"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"38 Lone Pine")) 1 to "Durango 11"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"612 Jachim Street")) 1 to "Lamar 222"
	Send Destroy to hoItems
	Set ComFilterBarCaption to "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Set ComFilterBarPromptType to (OLEexFilterPromptCaseSensitive + OLEexFilterPromptContainsAll)
	Set ComFilterBarPromptPattern to "12"
	Set ComFilterBarBackColor to (ComBackColor(Self))
	Send ComEndUpdate
End_Procedure
1182
GroupBy code

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComContinueColumnScroll to False
	Set ComCountLockedColumns to 1
	Set ComBackColorLock to (RGB(248,248,248))
	Set ComHasLines to OLEexSolidLine
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSingleSort to False
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComLayout to "MultipleSort = "C12:1 C1:2""
	Send ComEndUpdate
End_Procedure
1181
ADOR, MDB (JET)
Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Send ComEndUpdate
End_Procedure
1180
Editors (ImageSize = 32)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComImageSize to 32
	Set ComDefaultItemHeight to 36
	Set ComHeaderHeight to (ComDefaultItemHeight(Self))
	Set ComSortBarHeight to (ComDefaultItemHeight(Self))
	Variant voStdFont
	Get ComFont to voStdFont
	Handle hoStdFont
	Get Create (RefClass(cComStdFont)) to hoStdFont
	Set pvComObject of hoStdFont to voStdFont
		Set ComSize of hoStdFont to 16
	Send Destroy to hoStdFont
	Variant voStdFont1
	Get ComFilterBarFont to voStdFont1
	Handle hoStdFont1
	Get Create (RefClass(cComStdFont)) to hoStdFont1
	Set pvComObject of hoStdFont1 to voStdFont1
		Variant v
			Variant voStdFont2
			Get ComFont to voStdFont2
			Handle hoStdFont2
			Get Create (RefClass(cComStdFont)) to hoStdFont2
			Set pvComObject of hoStdFont2 to voStdFont2
				Get ComSize of hoStdFont2 to v
			Send Destroy to hoStdFont2
		Set ComSize of hoStdFont1 to v
	Send Destroy to hoStdFont1
	Variant voStdFont3
	Get ComToolTipFont to voStdFont3
	Handle hoStdFont3
	Get Create (RefClass(cComStdFont)) to hoStdFont3
	Set pvComObject of hoStdFont3 to voStdFont3
		Variant v1
			Variant voStdFont4
			Get ComFont to voStdFont4
			Handle hoStdFont4
			Get Create (RefClass(cComStdFont)) to hoStdFont4
			Set pvComObject of hoStdFont4 to voStdFont4
				Get ComSize of hoStdFont4 to v1
			Send Destroy to hoStdFont4
		Set ComSize of hoStdFont3 to v1
	Send Destroy to hoStdFont3
	Set ComIndent to 26
	Send ComImages ("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" + ;
"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==" to Nothing
		Get ComAdd of hoAppearance 2 ("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" + ;
"aBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==") to Nothing
		Get ComAdd of hoAppearance 3 ("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" + ;
"VHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=") to Nothing
		Get ComAdd of hoAppearance 4 "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==" to Nothing
	Send Destroy to hoAppearance
	Set ComBackColorHeader to |CI$4c6c6c6
	Set ComSelBackColor to |CI$4000000
	Set ComSelForeColor to (RGB(0,0,1))
	Set ComShowFocusRect to False
	Set ComCheckImage OLEUnchecked to 16777216
	Set ComCheckImage OLEChecked to 33554432
	Set ComCheckImage OLEPartialChecked to 50331648
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Editors" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant voEditor
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(ReadOnly)")) 0 to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComEditType of hoEditor to OLEReadOnly
		Send Destroy to hoEditor
		Variant voEditor1
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(EditType)")) 0 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEEditType
		Send Destroy to hoEditor1
		Variant h
		Get ComAddItem of hoItems "Value 1" to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEDropDownType
			Send ComAddItem of hoEditor2 1 "Value 1" 1
			Send ComAddItem of hoEditor2 2 "Value 2" 2
			Send ComAddItem of hoEditor2 3 "Value 3" 3
		Send Destroy to hoEditor2
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownType)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor3
		Get ComCellEditor of hoItems h 0 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComEditType of hoEditor3 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor3 to OLEexDropDownEditorWidth
			Send ComAddItem of hoEditor3 1 "Nancy Davolio" 1
			Send ComAddItem of hoEditor3 2 "Andrew Fuller" 2
			Send ComAddItem of hoEditor3 3 "Janet Leverling" 3
			Send ComAddItem of hoEditor3 4 "Peacock Margaret" 3
			Send ComAddItem of hoEditor3 5 "Steven Buchanan" 2
			Send ComAddItem of hoEditor3 6 "Michael Suyama" 1
			Send ComAddItem of hoEditor3 7 "Robert King" 2
			Send ComAddItem of hoEditor3 8 "Laura Callahan" 3
			Send ComAddItem of hoEditor3 9 "Anne Dodsworth" 2
		Send Destroy to hoEditor3
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - single column list)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor4
		Get ComCellEditor of hoItems h 0 to voEditor4
		Handle hoEditor4
		Get Create (RefClass(cComEditor)) to hoEditor4
		Set pvComObject of hoEditor4 to voEditor4
			Set ComEditType of hoEditor4 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor4 to OLEexDropDownEditorWidth
			Send ComAddItem of hoEditor4 1 "Nancy Davolio" 1
			Send ComAddItem of hoEditor4 2 "Andrew Fuller" 2
			Send ComInsertItem of hoEditor4 3 "Janet Leverling" 3 2
			Send ComInsertItem of hoEditor4 4 "Peacock Margaret" 3 2
			Send ComInsertItem of hoEditor4 5 "Steven Buchanan" 2 2
			Send ComInsertItem of hoEditor4 6 "Michael Suyama" 1 5
			Send ComInsertItem of hoEditor4 7 "Robert King" 2 2
			Send ComInsertItem of hoEditor4 8 "Laura Callahan" 3 2
			Send ComInsertItem of hoEditor4 9 "Anne Dodsworth" 2 5
			Send ComExpandAll of hoEditor4
		Send Destroy to hoEditor4
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - single column tree)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor5
		Get ComCellEditor of hoItems h 0 to voEditor5
		Handle hoEditor5
		Get Create (RefClass(cComEditor)) to hoEditor5
		Set pvComObject of hoEditor5 to voEditor5
			Set ComEditType of hoEditor5 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor5 to OLEexDropDownEditorWidth
			Set ComOption of hoEditor5 OLEexDropDownColumnCaption to "Name¦Title¦City¦Phone"
			Set ComOption of hoEditor5 OLEexDropDownColumnWidth to "312¦¦¦96"
			Send ComAddItem of hoEditor5 1 "Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857" 1
			Send ComAddItem of hoEditor5 2 "Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482" 2
			Send ComAddItem of hoEditor5 3 "Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412" 3
			Send ComAddItem of hoEditor5 4 "Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122" 3
			Send ComAddItem of hoEditor5 5 "Steven Buchanan¦Sales Manager¦London¦(71) 555-4848" 2
			Send ComAddItem of hoEditor5 6 "Michael Suyama¦Sales Representative¦London¦(71) 555-7773" 1
			Send ComAddItem of hoEditor5 7 "Robert King¦Sales Representative¦Kirkland¦(71) 555-5598" 2
			Send ComAddItem of hoEditor5 8 "Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189" 3
			Send ComAddItem of hoEditor5 9 "Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444" 2
		Send Destroy to hoEditor5
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - multiple columns list)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor6
		Get ComCellEditor of hoItems h 0 to voEditor6
		Handle hoEditor6
		Get Create (RefClass(cComEditor)) to hoEditor6
		Set pvComObject of hoEditor6 to voEditor6
			Set ComEditType of hoEditor6 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor6 to OLEexDropDownEditorWidth
			Set ComOption of hoEditor6 OLEexDropDownColumnCaption to "Name¦Title¦City¦Phone"
			Set ComOption of hoEditor6 OLEexDropDownColumnWidth to "312¦¦¦96"
			Send ComAddItem of hoEditor6 1 "Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857" 1
			Send ComAddItem of hoEditor6 2 "Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482" 2
			Send ComInsertItem of hoEditor6 3 "Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412" 3 2
			Send ComInsertItem of hoEditor6 4 "Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122" 3 2
			Send ComInsertItem of hoEditor6 5 "Steven Buchanan¦Sales Manager¦London¦(71) 555-4848" 2 2
			Send ComInsertItem of hoEditor6 6 "Michael Suyama¦Sales Representative¦London¦(71) 555-7773" 1 5
			Send ComInsertItem of hoEditor6 7 "Robert King¦Sales Representative¦Kirkland¦(71) 555-5598" 2 2
			Send ComInsertItem of hoEditor6 8 "Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189" 3 2
			Send ComInsertItem of hoEditor6 9 "Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444" 2 5
			Send ComExpandAll of hoEditor6
		Send Destroy to hoEditor6
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - multiple columns tree)'"
		Get ComAddItem of hoItems 100 to h
		Variant voEditor7
		Get ComCellEditor of hoItems h 0 to voEditor7
		Handle hoEditor7
		Get Create (RefClass(cComEditor)) to hoEditor7
		Set pvComObject of hoEditor7 to voEditor7
			Set ComEditType of hoEditor7 to OLESpinType
		Send Destroy to hoEditor7
		Set ComFormatCell of hoItems h 0 to "value + ' (SpinType)'"
		Variant voEditor8
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(MemoType)")) 0 to voEditor8
		Handle hoEditor8
		Get Create (RefClass(cComEditor)) to hoEditor8
		Set pvComObject of hoEditor8 to voEditor8
			Set ComEditType of hoEditor8 to OLEMemoType
		Send Destroy to hoEditor8
		Get ComAddItem of hoItems 3 to h
		Variant voEditor9
		Get ComCellEditor of hoItems h 0 to voEditor9
		Handle hoEditor9
		Get Create (RefClass(cComEditor)) to hoEditor9
		Set pvComObject of hoEditor9 to voEditor9
			Set ComEditType of hoEditor9 to OLECheckListType
			Send ComAddItem of hoEditor9 1 "Border" 1
			Send ComAddItem of hoEditor9 2 "Single" 2
			Send ComAddItem of hoEditor9 4 "Frame" 3
		Send Destroy to hoEditor9
		Set ComFormatCell of hoItems h 0 to "value + ' (CheckListType)'"
		Get ComAddItem of hoItems "193.226.40.161" to h
		Variant voEditor10
		Get ComCellEditor of hoItems h 0 to voEditor10
		Handle hoEditor10
		Get Create (RefClass(cComEditor)) to hoEditor10
		Set pvComObject of hoEditor10 to voEditor10
			Set ComMask of hoEditor10 to "{0,255}.{0,255}.{0,255}.{0,255}"
			Set ComEditType of hoEditor10 to OLEMaskType
		Send Destroy to hoEditor10
		Set ComFormatCell of hoItems h 0 to "value + ' (MaskType)'"
		Get ComAddItem of hoItems 65280 to h
		Variant voEditor11
		Get ComCellEditor of hoItems h 0 to voEditor11
		Handle hoEditor11
		Get Create (RefClass(cComEditor)) to hoEditor11
		Set pvComObject of hoEditor11 to voEditor11
			Set ComEditType of hoEditor11 to OLEColorType
			Set ComMask of hoEditor11 to "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0"
		Send Destroy to hoEditor11
		Set ComFormatCell of hoItems h 0 to "value + ' (ColorType)'"
		Get ComAddItem of hoItems "Tahoma" to h
		Variant voEditor12
		Get ComCellEditor of hoItems h 0 to voEditor12
		Handle hoEditor12
		Get Create (RefClass(cComEditor)) to hoEditor12
		Set pvComObject of hoEditor12 to voEditor12
			Set ComEditType of hoEditor12 to OLEFontType
		Send Destroy to hoEditor12
		Set ComFormatCell of hoItems h 0 to "value + ' (FontType)'"
		Get ComAddItem of hoItems "gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamYyIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAwBUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABGQZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCAAjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFASoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJDQNg/p4AAdoC" to h
		Variant voEditor13
		Get ComCellEditor of hoItems h 0 to voEditor13
		Handle hoEditor13
		Get Create (RefClass(cComEditor)) to hoEditor13
		Set pvComObject of hoEditor13 to voEditor13
			Set ComEditType of hoEditor13 to OLEPictureType
		Send Destroy to hoEditor13
		Set ComFormatCell of hoItems h 0 to "value + ' (PictureType)'"
		Variant voEditor14
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(ButtonType)")) 0 to voEditor14
		Handle hoEditor14
		Get Create (RefClass(cComEditor)) to hoEditor14
		Set pvComObject of hoEditor14 to voEditor14
			Set ComEditType of hoEditor14 to OLEButtonType
		Send Destroy to hoEditor14
		Get ComAddItem of hoItems 25 to h
		Variant voEditor15
		Get ComCellEditor of hoItems h 0 to voEditor15
		Handle hoEditor15
		Get Create (RefClass(cComEditor)) to hoEditor15
		Set pvComObject of hoEditor15 to voEditor15
			Set ComEditType of hoEditor15 to OLEProgressBarType
		Send Destroy to hoEditor15
		Set ComFormatCell of hoItems h 0 to "value + ' (ProgressBarType)'"
		Get ComAddItem of hoItems "Value 1" to h
		Variant voEditor16
		Get ComCellEditor of hoItems h 0 to voEditor16
		Handle hoEditor16
		Get Create (RefClass(cComEditor)) to hoEditor16
		Set pvComObject of hoEditor16 to voEditor16
			Set ComEditType of hoEditor16 to OLEPickEditType
			Send ComAddItem of hoEditor16 1 "Value 1" 1
			Send ComAddItem of hoEditor16 2 "Value 2" 2
			Send ComAddItem of hoEditor16 3 "Value 3" 3
		Send Destroy to hoEditor16
		Set ComFormatCell of hoItems h 0 to "value + ' (PickEditType)'"
		Variant voEditor17
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(LinkEditType)")) 0 to voEditor17
		Handle hoEditor17
		Get Create (RefClass(cComEditor)) to hoEditor17
		Set pvComObject of hoEditor17 to voEditor17
			Set ComEditType of hoEditor17 to OLELinkEditType
		Send Destroy to hoEditor17
		Variant voEditor18
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(UserEditorType)")) 0 to voEditor18
		Handle hoEditor18
		Get Create (RefClass(cComEditor)) to hoEditor18
		Set pvComObject of hoEditor18 to voEditor18
			Set ComEditType of hoEditor18 to OLEUserEditorType
			Send ComUserEditor of hoEditor18 "Exontrol.ComboBox" ""
Get ComUserEditorObject of hoEditor18 to Nothing			Send Destroy to hoEditor18
		Send Destroy to hoItems
		Get ComAddItem 255 to h
		Variant voEditor19
		Get ComCellEditor h 0 to voEditor19
		Handle hoEditor19
		Get Create (RefClass(cComEditor)) to hoEditor19
		Set pvComObject of hoEditor19 to voEditor19
			Set ComEditType of hoEditor19 to OLEColorListType
			Set ComOption of hoEditor19 OLEexColorListShowName to True
		Send Destroy to hoEditor19
		Set ComFormatCell h 0 to "value + ' (ColorListType)'"
		Variant voEditor20
		Get ComCellEditor (ComAddItem(Self,65280)) 0 to voEditor20
		Handle hoEditor20
		Get Create (RefClass(cComEditor)) to hoEditor20
		Set pvComObject of hoEditor20 to voEditor20
			Set ComEditType of hoEditor20 to OLEColorListType
		Send Destroy to hoEditor20
		Variant voEditor21
		Get ComCellEditor (ComAddItem(Self,"(MemoDropDownType)")) 0 to voEditor21
		Handle hoEditor21
		Get Create (RefClass(cComEditor)) to hoEditor21
		Set pvComObject of hoEditor21 to voEditor21
			Set ComEditType of hoEditor21 to OLEMemoDropDownType
		Send Destroy to hoEditor21
		Variant voEditor22
		Get ComCellEditor (ComAddItem(Self,-1)) 0 to voEditor22
		Handle hoEditor22
		Get Create (RefClass(cComEditor)) to hoEditor22
		Set pvComObject of hoEditor22 to voEditor22
			Set ComEditType of hoEditor22 to OLECheckValueType
			Set ComOption of hoEditor22 OLEexCheckValue2 to 1
		Send Destroy to hoEditor22
		Get ComAddItem 50 to h
		Variant voEditor23
		Get ComCellEditor h 0 to voEditor23
		Handle hoEditor23
		Get Create (RefClass(cComEditor)) to hoEditor23
		Set pvComObject of hoEditor23 to voEditor23
			Set ComEditType of hoEditor23 to OLESliderType
			Set ComOption of hoEditor23 OLEexSliderWidth to -60
			Set ComOption of hoEditor23 OLEexSliderTickFrequency to 10
			Set ComOption of hoEditor23 OLEexSliderTickStyle to 2
		Send Destroy to hoEditor23
		Set ComFormatCell h 0 to "value + ' (SliderType)'"
		Get ComAddItem 100 to h
		Variant voEditor24
		Get ComCellEditor h 0 to voEditor24
		Handle hoEditor24
		Get Create (RefClass(cComEditor)) to hoEditor24
		Set pvComObject of hoEditor24 to voEditor24
			Set ComEditType of hoEditor24 to OLECalculatorType
		Send Destroy to hoEditor24
		Set ComFormatCell h 0 to "value + ' (CalculatorType)'"
		Send ComEnsureVisibleItem h
	Send ComEndUpdate
End_Procedure
1179
Editors (ImageSize = 16, default)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComImageSize to 16
	Send ComImages "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 4 "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==" to Nothing
	Send Destroy to hoAppearance
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Editors" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComBackColorHeader to |CI$4c6c6c6
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant voEditor
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(ReadOnly)")) 0 to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComEditType of hoEditor to OLEReadOnly
		Send Destroy to hoEditor
		Variant voEditor1
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(EditType)")) 0 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEEditType
		Send Destroy to hoEditor1
		Variant h
		Get ComAddItem of hoItems "Value 1" to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEDropDownType
			Send ComAddItem of hoEditor2 1 "Value 1" 1
			Send ComAddItem of hoEditor2 2 "Value 2" 2
			Send ComAddItem of hoEditor2 3 "Value 3" 3
		Send Destroy to hoEditor2
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownType)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor3
		Get ComCellEditor of hoItems h 0 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComEditType of hoEditor3 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor3 to OLEexDropDownEditorWidth
			Send ComAddItem of hoEditor3 1 "Nancy Davolio" 1
			Send ComAddItem of hoEditor3 2 "Andrew Fuller" 2
			Send ComAddItem of hoEditor3 3 "Janet Leverling" 3
			Send ComAddItem of hoEditor3 4 "Peacock Margaret" 3
			Send ComAddItem of hoEditor3 5 "Steven Buchanan" 2
			Send ComAddItem of hoEditor3 6 "Michael Suyama" 1
			Send ComAddItem of hoEditor3 7 "Robert King" 2
			Send ComAddItem of hoEditor3 8 "Laura Callahan" 3
			Send ComAddItem of hoEditor3 9 "Anne Dodsworth" 2
		Send Destroy to hoEditor3
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - single column list)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor4
		Get ComCellEditor of hoItems h 0 to voEditor4
		Handle hoEditor4
		Get Create (RefClass(cComEditor)) to hoEditor4
		Set pvComObject of hoEditor4 to voEditor4
			Set ComEditType of hoEditor4 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor4 to OLEexDropDownEditorWidth
			Send ComAddItem of hoEditor4 1 "Nancy Davolio" 1
			Send ComAddItem of hoEditor4 2 "Andrew Fuller" 2
			Send ComInsertItem of hoEditor4 3 "Janet Leverling" 3 2
			Send ComInsertItem of hoEditor4 4 "Peacock Margaret" 3 2
			Send ComInsertItem of hoEditor4 5 "Steven Buchanan" 2 2
			Send ComInsertItem of hoEditor4 6 "Michael Suyama" 1 5
			Send ComInsertItem of hoEditor4 7 "Robert King" 2 2
			Send ComInsertItem of hoEditor4 8 "Laura Callahan" 3 2
			Send ComInsertItem of hoEditor4 9 "Anne Dodsworth" 2 5
			Send ComExpandAll of hoEditor4
		Send Destroy to hoEditor4
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - single column tree)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor5
		Get ComCellEditor of hoItems h 0 to voEditor5
		Handle hoEditor5
		Get Create (RefClass(cComEditor)) to hoEditor5
		Set pvComObject of hoEditor5 to voEditor5
			Set ComEditType of hoEditor5 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor5 to OLEexDropDownEditorWidth
			Set ComOption of hoEditor5 OLEexDropDownColumnCaption to "Name¦Title¦City¦Phone"
			Set ComOption of hoEditor5 OLEexDropDownColumnWidth to "312¦¦¦96"
			Send ComAddItem of hoEditor5 1 "Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857" 1
			Send ComAddItem of hoEditor5 2 "Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482" 2
			Send ComAddItem of hoEditor5 3 "Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412" 3
			Send ComAddItem of hoEditor5 4 "Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122" 3
			Send ComAddItem of hoEditor5 5 "Steven Buchanan¦Sales Manager¦London¦(71) 555-4848" 2
			Send ComAddItem of hoEditor5 6 "Michael Suyama¦Sales Representative¦London¦(71) 555-7773" 1
			Send ComAddItem of hoEditor5 7 "Robert King¦Sales Representative¦Kirkland¦(71) 555-5598" 2
			Send ComAddItem of hoEditor5 8 "Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189" 3
			Send ComAddItem of hoEditor5 9 "Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444" 2
		Send Destroy to hoEditor5
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - multiple columns list)'"
		Get ComAddItem of hoItems 1 to h
		Variant voEditor6
		Get ComCellEditor of hoItems h 0 to voEditor6
		Handle hoEditor6
		Get Create (RefClass(cComEditor)) to hoEditor6
		Set pvComObject of hoEditor6 to voEditor6
			Set ComEditType of hoEditor6 to OLEDropDownListType
			Set ComDropDownAutoWidth of hoEditor6 to OLEexDropDownEditorWidth
			Set ComOption of hoEditor6 OLEexDropDownColumnCaption to "Name¦Title¦City¦Phone"
			Set ComOption of hoEditor6 OLEexDropDownColumnWidth to "312¦¦¦96"
			Send ComAddItem of hoEditor6 1 "Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857" 1
			Send ComAddItem of hoEditor6 2 "Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482" 2
			Send ComInsertItem of hoEditor6 3 "Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412" 3 2
			Send ComInsertItem of hoEditor6 4 "Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122" 3 2
			Send ComInsertItem of hoEditor6 5 "Steven Buchanan¦Sales Manager¦London¦(71) 555-4848" 2 2
			Send ComInsertItem of hoEditor6 6 "Michael Suyama¦Sales Representative¦London¦(71) 555-7773" 1 5
			Send ComInsertItem of hoEditor6 7 "Robert King¦Sales Representative¦Kirkland¦(71) 555-5598" 2 2
			Send ComInsertItem of hoEditor6 8 "Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189" 3 2
			Send ComInsertItem of hoEditor6 9 "Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444" 2 5
			Send ComExpandAll of hoEditor6
		Send Destroy to hoEditor6
		Set ComFormatCell of hoItems h 0 to "value + ' (DropDownList - multiple columns tree)'"
		Get ComAddItem of hoItems 100 to h
		Variant voEditor7
		Get ComCellEditor of hoItems h 0 to voEditor7
		Handle hoEditor7
		Get Create (RefClass(cComEditor)) to hoEditor7
		Set pvComObject of hoEditor7 to voEditor7
			Set ComEditType of hoEditor7 to OLESpinType
		Send Destroy to hoEditor7
		Set ComFormatCell of hoItems h 0 to "value + ' (SpinType)'"
		Variant voEditor8
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(MemoType)")) 0 to voEditor8
		Handle hoEditor8
		Get Create (RefClass(cComEditor)) to hoEditor8
		Set pvComObject of hoEditor8 to voEditor8
			Set ComEditType of hoEditor8 to OLEMemoType
		Send Destroy to hoEditor8
		Get ComAddItem of hoItems 3 to h
		Variant voEditor9
		Get ComCellEditor of hoItems h 0 to voEditor9
		Handle hoEditor9
		Get Create (RefClass(cComEditor)) to hoEditor9
		Set pvComObject of hoEditor9 to voEditor9
			Set ComEditType of hoEditor9 to OLECheckListType
			Send ComAddItem of hoEditor9 1 "Border" 1
			Send ComAddItem of hoEditor9 2 "Single" 2
			Send ComAddItem of hoEditor9 4 "Frame" 3
		Send Destroy to hoEditor9
		Set ComFormatCell of hoItems h 0 to "value + ' (CheckListType)'"
		Get ComAddItem of hoItems "193.226.40.161" to h
		Variant voEditor10
		Get ComCellEditor of hoItems h 0 to voEditor10
		Handle hoEditor10
		Get Create (RefClass(cComEditor)) to hoEditor10
		Set pvComObject of hoEditor10 to voEditor10
			Set ComMask of hoEditor10 to "{0,255}.{0,255}.{0,255}.{0,255}"
			Set ComEditType of hoEditor10 to OLEMaskType
		Send Destroy to hoEditor10
		Set ComFormatCell of hoItems h 0 to "value + ' (MaskType)'"
		Get ComAddItem of hoItems 65280 to h
		Variant voEditor11
		Get ComCellEditor of hoItems h 0 to voEditor11
		Handle hoEditor11
		Get Create (RefClass(cComEditor)) to hoEditor11
		Set pvComObject of hoEditor11 to voEditor11
			Set ComEditType of hoEditor11 to OLEColorType
			Set ComMask of hoEditor11 to "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0"
		Send Destroy to hoEditor11
		Set ComFormatCell of hoItems h 0 to "value + ' (ColorType)'"
		Get ComAddItem of hoItems "Tahoma" to h
		Variant voEditor12
		Get ComCellEditor of hoItems h 0 to voEditor12
		Handle hoEditor12
		Get Create (RefClass(cComEditor)) to hoEditor12
		Set pvComObject of hoEditor12 to voEditor12
			Set ComEditType of hoEditor12 to OLEFontType
		Send Destroy to hoEditor12
		Set ComFormatCell of hoItems h 0 to "value + ' (FontType)'"
		Get ComAddItem of hoItems "gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamYyIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAwBUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABGQZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCAAjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFASoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJDQNg/p4AAdoC" to h
		Variant voEditor13
		Get ComCellEditor of hoItems h 0 to voEditor13
		Handle hoEditor13
		Get Create (RefClass(cComEditor)) to hoEditor13
		Set pvComObject of hoEditor13 to voEditor13
			Set ComEditType of hoEditor13 to OLEPictureType
		Send Destroy to hoEditor13
		Set ComFormatCell of hoItems h 0 to "value + ' (PictureType)'"
		Variant voEditor14
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(ButtonType)")) 0 to voEditor14
		Handle hoEditor14
		Get Create (RefClass(cComEditor)) to hoEditor14
		Set pvComObject of hoEditor14 to voEditor14
			Set ComEditType of hoEditor14 to OLEButtonType
		Send Destroy to hoEditor14
		Get ComAddItem of hoItems 25 to h
		Variant voEditor15
		Get ComCellEditor of hoItems h 0 to voEditor15
		Handle hoEditor15
		Get Create (RefClass(cComEditor)) to hoEditor15
		Set pvComObject of hoEditor15 to voEditor15
			Set ComEditType of hoEditor15 to OLEProgressBarType
		Send Destroy to hoEditor15
		Set ComFormatCell of hoItems h 0 to "value + ' (ProgressBarType)'"
		Get ComAddItem of hoItems "Value 1" to h
		Variant voEditor16
		Get ComCellEditor of hoItems h 0 to voEditor16
		Handle hoEditor16
		Get Create (RefClass(cComEditor)) to hoEditor16
		Set pvComObject of hoEditor16 to voEditor16
			Set ComEditType of hoEditor16 to OLEPickEditType
			Send ComAddItem of hoEditor16 1 "Value 1" 1
			Send ComAddItem of hoEditor16 2 "Value 2" 2
			Send ComAddItem of hoEditor16 3 "Value 3" 3
		Send Destroy to hoEditor16
		Set ComFormatCell of hoItems h 0 to "value + ' (PickEditType)'"
		Variant voEditor17
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(LinkEditType)")) 0 to voEditor17
		Handle hoEditor17
		Get Create (RefClass(cComEditor)) to hoEditor17
		Set pvComObject of hoEditor17 to voEditor17
			Set ComEditType of hoEditor17 to OLELinkEditType
		Send Destroy to hoEditor17
		Variant voEditor18
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"(UserEditorType)")) 0 to voEditor18
		Handle hoEditor18
		Get Create (RefClass(cComEditor)) to hoEditor18
		Set pvComObject of hoEditor18 to voEditor18
			Set ComEditType of hoEditor18 to OLEUserEditorType
			Send ComUserEditor of hoEditor18 "Exontrol.ComboBox" ""
Get ComUserEditorObject of hoEditor18 to Nothing			Send Destroy to hoEditor18
		Send Destroy to hoItems
		Get ComAddItem 255 to h
		Variant voEditor19
		Get ComCellEditor h 0 to voEditor19
		Handle hoEditor19
		Get Create (RefClass(cComEditor)) to hoEditor19
		Set pvComObject of hoEditor19 to voEditor19
			Set ComEditType of hoEditor19 to OLEColorListType
			Set ComOption of hoEditor19 OLEexColorListShowName to True
		Send Destroy to hoEditor19
		Set ComFormatCell h 0 to "value + ' (ColorListType)'"
		Variant voEditor20
		Get ComCellEditor (ComAddItem(Self,65280)) 0 to voEditor20
		Handle hoEditor20
		Get Create (RefClass(cComEditor)) to hoEditor20
		Set pvComObject of hoEditor20 to voEditor20
			Set ComEditType of hoEditor20 to OLEColorListType
		Send Destroy to hoEditor20
		Variant voEditor21
		Get ComCellEditor (ComAddItem(Self,"(MemoDropDownType)")) 0 to voEditor21
		Handle hoEditor21
		Get Create (RefClass(cComEditor)) to hoEditor21
		Set pvComObject of hoEditor21 to voEditor21
			Set ComEditType of hoEditor21 to OLEMemoDropDownType
		Send Destroy to hoEditor21
		Variant voEditor22
		Get ComCellEditor (ComAddItem(Self,-1)) 0 to voEditor22
		Handle hoEditor22
		Get Create (RefClass(cComEditor)) to hoEditor22
		Set pvComObject of hoEditor22 to voEditor22
			Set ComEditType of hoEditor22 to OLECheckValueType
			Set ComOption of hoEditor22 OLEexCheckValue2 to 1
		Send Destroy to hoEditor22
		Get ComAddItem 50 to h
		Variant voEditor23
		Get ComCellEditor h 0 to voEditor23
		Handle hoEditor23
		Get Create (RefClass(cComEditor)) to hoEditor23
		Set pvComObject of hoEditor23 to voEditor23
			Set ComEditType of hoEditor23 to OLESliderType
			Set ComOption of hoEditor23 OLEexSliderWidth to -60
			Set ComOption of hoEditor23 OLEexSliderTickFrequency to 10
			Set ComOption of hoEditor23 OLEexSliderTickStyle to 2
		Send Destroy to hoEditor23
		Set ComFormatCell h 0 to "value + ' (SliderType)'"
		Get ComAddItem 100 to h
		Variant voEditor24
		Get ComCellEditor h 0 to voEditor24
		Handle hoEditor24
		Get Create (RefClass(cComEditor)) to hoEditor24
		Set pvComObject of hoEditor24 to voEditor24
			Set ComEditType of hoEditor24 to OLECalculatorType
		Send Destroy to hoEditor24
		Set ComFormatCell h 0 to "value + ' (CalculatorType)'"
		Send ComEnsureVisibleItem h
	Send ComEndUpdate
End_Procedure
1178
Re-order the cell's caption, icons and images/pictures

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDcD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB"
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "ToLeft" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "ToRight" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
			Set ComDef of hoColumn1 OLEexCellDrawPartsOrder to "caption,picture,icons,icon,check"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComDefaultItemHeight to 32
	Set ComDrawGridLines to OLEexVLines
	Set ComHeaderAppearance to OLEEtched
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Caption" to h
		Set ComCellImage of hoItems h 0 to 2
		Set ComCellImages of hoItems h 0 to "1,2"
		Variant vPicture
		Get ComExecuteTemplate "loadpicture(`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`)" to vPicture
		Set ComCellPicture of hoItems h 0 to (vPicture)
		Set ComCellValue of hoItems h 1 to (ComCellValue(hoItems,h,0))
		Set ComCellHAlignment of hoItems h 1 to OLERightAlignment
		Set ComCellImage of hoItems h 1 to (ComCellImage(hoItems,h,0))
		Set ComCellImages of hoItems h 1 to "2,1"
		Set ComCellPicture of hoItems h 1 to (ComCellPicture(hoItems,h,0))
		Get ComAddItem of hoItems "<b>HTML</b> <off 4>Caption" to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComCellImage of hoItems h 0 to 2
		Set ComCellImages of hoItems h 0 to "1,2"
		Variant vPicture1
		Get ComExecuteTemplate "loadpicture(`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`)" to vPicture1
		Set ComCellPicture of hoItems h 0 to (vPicture1)
		Set ComCellValue of hoItems h 1 to (ComCellValue(hoItems,h,0))
		Set ComCellValueFormat of hoItems h 1 to OLEexHTML
		Set ComCellHAlignment of hoItems h 1 to OLERightAlignment
		Set ComCellImage of hoItems h 1 to (ComCellImage(hoItems,h,0))
		Set ComCellImages of hoItems h 1 to "2,1"
		Set ComCellPicture of hoItems h 1 to (ComCellPicture(hoItems,h,0))
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1177
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

// Fired after a new column has been added.
Procedure OnComAddColumn Variant   llColumn
	Forward Send OnComAddColumn llColumn
	// Column.Def(48) = 2
	// Column.Def(49) = 2
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComImageSize to 32
	Set ComDefaultItemHeight to 36
	Set ComHeaderHeight to (ComDefaultItemHeight(Self))
	Set ComSortBarHeight to (ComDefaultItemHeight(Self))
	Variant voStdFont
	Get ComFont to voStdFont
	Handle hoStdFont
	Get Create (RefClass(cComStdFont)) to hoStdFont
	Set pvComObject of hoStdFont to voStdFont
		Set ComSize of hoStdFont to 16
	Send Destroy to hoStdFont
	Variant voStdFont1
	Get ComFilterBarFont to voStdFont1
	Handle hoStdFont1
	Get Create (RefClass(cComStdFont)) to hoStdFont1
	Set pvComObject of hoStdFont1 to voStdFont1
		Variant v
			Variant voStdFont2
			Get ComFont to voStdFont2
			Handle hoStdFont2
			Get Create (RefClass(cComStdFont)) to hoStdFont2
			Set pvComObject of hoStdFont2 to voStdFont2
				Get ComSize of hoStdFont2 to v
			Send Destroy to hoStdFont2
		Set ComSize of hoStdFont1 to v
	Send Destroy to hoStdFont1
	Variant voStdFont3
	Get ComToolTipFont to voStdFont3
	Handle hoStdFont3
	Get Create (RefClass(cComStdFont)) to hoStdFont3
	Set pvComObject of hoStdFont3 to voStdFont3
		Variant v1
			Variant voStdFont4
			Get ComFont to voStdFont4
			Handle hoStdFont4
			Get Create (RefClass(cComStdFont)) to hoStdFont4
			Set pvComObject of hoStdFont4 to voStdFont4
				Get ComSize of hoStdFont4 to v1
			Send Destroy to hoStdFont4
		Set ComSize of hoStdFont3 to v1
	Send Destroy to hoStdFont3
	Set ComIndent to 26
	Send ComImages ("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkFgTxT9iONZ9xVTdq+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+bfJtuTcG5yelBJyT8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVW" + ;
"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==" to Nothing
		Get ComAdd of hoAppearance 2 ("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" + ;
"aBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==") to Nothing
		Get ComAdd of hoAppearance 3 ("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" + ;
"VHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=") to Nothing
		Get ComAdd of hoAppearance 4 "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==" to Nothing
	Send Destroy to hoAppearance
	Set ComBackColorHeader to |CI$4c6c6c6
	Set ComSelBackColor to |CI$4000000
	Set ComSelForeColor to (RGB(0,0,1))
	Set ComCheckImage OLEUnchecked to 16777216
	Set ComCheckImage OLEChecked to 33554432
	Set ComCheckImage OLEPartialChecked to 50331648
	Set ComBackground OLEexSelBackColorFilter to (ComSelBackColor(Self))
	Set ComBackground OLEexSelForeColorFilter to (ComSelForeColor(Self))
	Set ComBackground OLEexBackColorFilter to (ComBackColor(Self))
	Set ComBackground OLEexForeColorFilter to (ComForeColor(Self))
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComBackground OLEexHeaderFilterBarButton to |CI$4000000
	Set ComBackground OLEexHeaderFilterBarActive to |CI$4010101
	Set ComBackground OLEexFooterFilterBarButton to |CI$40000ff
	Set ComHeaderAppearance to OLEEtched
	Set ComShowFocusRect to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Set ComBackColorSortBar to (ComBackColor(Self))
	Set ComBackColorLevelHeader to (ComBackColor(Self))
	Set ComFilterBarDropDownHeight to 1
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
			Set ComWidth of hoColumn to 128
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to OLEexShowCheckBox
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 pos ``"
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 48
			Set ComAllowSizing of hoColumn1 to False
			Set ComAlignment of hoColumn1 to OLECenterAlignment
			Set ComHeaderAlignment of hoColumn1 to OLECenterAlignment
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Image" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComFilterList of hoColumn2 to (OLEexShowExclude + OLEexShowCheckBox + OLEexSortItemsAsc)
			Set ComFilterType of hoColumn2 to OLEexImage
			Set ComDisplayExpandButton of hoColumn2 to True
			Set ComExpandColumns of hoColumn2 to "1,2,3"
			Set ComWidth of hoColumn2 to 128
			Set ComHeaderImage of hoColumn2 to 1
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Images" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDef of hoColumn3 OLEexCellHasCheckBox to True
			Set ComWidth of hoColumn3 to 196
			Set ComHTMLCaption of hoColumn3 to "<img>1</img><img>2</img><img>3</img> Images"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComItem of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComPosition of hoColumn4 to 3
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant hR
		Get ComAddItem of hoItems "Root" to hR
		Set ComItemDivider of hoItems hR to 0
		Set ComItemDividerLine of hoItems hR to OLEEmptyLine
		Variant h
		Get ComInsertItem of hoItems hR "Child A" to h
		Set ComCellImage of hoItems h 2 to 1
		Set ComCellImages of hoItems h 3 to "1,2,3"
		Set ComCellValue of hoItems h 3 to "123"
		Get ComInsertItem of hoItems hR "Child B" to h
		Set ComCellState of hoItems h 0 to 1
		Set ComCellImage of hoItems h 2 to 3
		Set ComCellImages of hoItems h 3 to "2,3,1"
		Set ComCellValue of hoItems h 3 to "231"
		Set ComSelectItem of hoItems h to True
		Get ComInsertItem of hoItems hR "Child C" to h
		Set ComCellImage of hoItems h 2 to 2
		Set ComCellState of hoItems h 3 to 1
		Set ComCellValue of hoItems h 3 to "312"
		Set ComCellImages of hoItems h 3 to "3,1,2"
		Set ComExpandItem of hoItems hR to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1176
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

// Fired after a new column has been added.
Procedure OnComAddColumn Variant   llColumn
	Forward Send OnComAddColumn llColumn
	// Column.Def(48) = 2
	// Column.Def(49) = 2
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComImageSize to 16
	Send ComImages "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 4 "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==" to Nothing
	Send Destroy to hoAppearance
	Set ComBackColorHeader to |CI$4c6c6c6
	Set ComSelBackColor to |CI$4000000
	Set ComSelForeColor to (RGB(0,0,1))
	Set ComBackground OLEexSelBackColorFilter to (ComSelBackColor(Self))
	Set ComBackground OLEexSelForeColorFilter to (ComSelForeColor(Self))
	Set ComBackground OLEexBackColorFilter to (ComBackColor(Self))
	Set ComBackground OLEexForeColorFilter to (ComForeColor(Self))
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComBackground OLEexHeaderFilterBarButton to |CI$4000000
	Set ComBackground OLEexHeaderFilterBarActive to |CI$4010101
	Set ComBackground OLEexFooterFilterBarButton to |CI$40000ff
	Set ComHeaderAppearance to OLEEtched
	Set ComShowFocusRect to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Set ComBackColorSortBar to (ComBackColor(Self))
	Set ComBackColorLevelHeader to (ComBackColor(Self))
	Set ComFilterBarDropDownHeight to 1
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
			Set ComWidth of hoColumn to 128
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to OLEexShowCheckBox
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 pos ``"
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 48
			Set ComAllowSizing of hoColumn1 to False
			Set ComAlignment of hoColumn1 to OLECenterAlignment
			Set ComHeaderAlignment of hoColumn1 to OLECenterAlignment
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Image" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDisplayFilterButton of hoColumn2 to True
			Set ComFilterList of hoColumn2 to (OLEexShowExclude + OLEexShowCheckBox + OLEexSortItemsAsc)
			Set ComFilterType of hoColumn2 to OLEexImage
			Set ComDisplayExpandButton of hoColumn2 to True
			Set ComExpandColumns of hoColumn2 to "1,2,3"
			Set ComWidth of hoColumn2 to 128
			Set ComHeaderImage of hoColumn2 to 1
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComAdd of hoColumns3 "Images" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDef of hoColumn3 OLEexCellHasCheckBox to True
			Set ComWidth of hoColumn3 to 196
			Set ComHTMLCaption of hoColumn3 to "<img>1</img><img>2</img><img>3</img> Images"
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComItem of hoColumns4 "Pos" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComPosition of hoColumn4 to 3
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant hR
		Get ComAddItem of hoItems "Root" to hR
		Set ComItemDivider of hoItems hR to 0
		Set ComItemDividerLine of hoItems hR to OLEEmptyLine
		Variant h
		Get ComInsertItem of hoItems hR "Child A" to h
		Set ComCellImage of hoItems h 2 to 1
		Set ComCellImages of hoItems h 3 to "1,2,3"
		Set ComCellValue of hoItems h 3 to "123"
		Get ComInsertItem of hoItems hR "Child B" to h
		Set ComCellState of hoItems h 0 to 1
		Set ComCellImage of hoItems h 2 to 3
		Set ComCellImages of hoItems h 3 to "2,3,1"
		Set ComCellValue of hoItems h 3 to "231"
		Set ComSelectItem of hoItems h to True
		Get ComInsertItem of hoItems hR "Child C" to h
		Set ComCellImage of hoItems h 2 to 2
		Set ComCellState of hoItems h 3 to 1
		Set ComCellValue of hoItems h 3 to "312"
		Set ComCellImages of hoItems h 3 to "3,1,2"
		Set ComExpandItem of hoItems hR to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
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

// Fired after a new column has been added.
Procedure OnComAddColumn Variant   llColumn
	Forward Send OnComAddColumn llColumn
	Move to Column
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns "ShipVia" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComPosition of hoColumn to 2
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
1174
Does the control display images from database (ADO)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Set ComDefaultItemHeight to 48
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Employees" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns "Photo" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComPosition of hoColumn to 1
			Set ComWidth of hoColumn to 128
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
1173
Does the control display images from database (DAO)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Set ComDefaultItemHeight to 48
	Handle hoPrivDBEngine
	Get Create (RefClass(cComPrivDBEngine)) to hoPrivDBEngine // Import the 'Microsoft DAO 3.6 Object Library' library
		Variant v
		Variant voDatabase
		Get ComOpenDatabase of hoPrivDBEngine "C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb" Nothing Nothing Nothing to voDatabase
		Handle hoDatabase
		Get Create (RefClass(cComDatabase)) to hoDatabase
		Set pvComObject of hoDatabase to voDatabase
			Get ComOpenRecordset of hoDatabase "Employees" Nothing Nothing Nothing to v
		Send Destroy to hoDatabase
		Variant rs
		Move v to rs
	Send Destroy to hoPrivDBEngine
	Set ComDataSource to rs
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns "Photo" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComPosition of hoColumn to 1
			Set ComWidth of hoColumn to 128
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
1172
Is it possible to set from code, a column sort without being inserted in the sortbar

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComLayout to "singlesort="C1:1""
	Send ComEndUpdate
End_Procedure
1171
Is it possible to view all events the control fires
// Notifies the application once the control fires an event.
Procedure OnComEvent Integer   llEventID
	Forward Send OnComEvent llEventID
	Showln (ComEventParam(Self,-2))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1170
How can I find all occurences of the giving value, within a column
Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComAdd of hoColumns1 "Pos" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "1 pos 'A-Z'"
			Set ComPosition of hoColumn to 0
			Set ComAllowSizing of hoColumn to False
			Set ComWidth of hoColumn to 32
			Set ComEnabled of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn1
		Get ComAdd of hoColumns2 "Index" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "0 index ''"
			Set ComAllowSizing of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComEnabled of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "A" to Nothing
		Get ComAddItem of hoItems "A" to Nothing
		Get ComAddItem of hoItems "A" to Nothing
		Showln (ComCellCaption(hoItems,(ComFindItem(hoItems,"A",0,0)),1))
		Showln (ComCellCaption(hoItems,(ComFindItem(hoItems,"A",0,1)),1))
		Showln (ComCellCaption(hoItems,(ComFindItem(hoItems,"A",0,2)),1))
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1169
How can I prevent expanding/collapsing the child items

// Fired before an item is about to be expanded (collapsed).
Procedure OnComBeforeExpandItem HITEM   llItem Variant   llCancel
	Forward Send OnComBeforeExpandItem llItem llCancel
	Variant v
		Variant voItems
		Get ComItems to voItems
		Handle hoItems
		Get Create (RefClass(cComItems)) to hoItems
		Set pvComObject of hoItems to voItems
			Get ComItemParent of hoItems llItem to v
		Send Destroy to hoItems
	Move v to Cancel
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSingleSel to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "Root 1" to h
		Get ComInsertItem of hoItems1 (ComInsertItem(hoItems1,h,"Child 1.1")) "Child" to Nothing
		Get ComInsertItem of hoItems1 h "Child 1.2" to Nothing
		Set ComExpandItem of hoItems1 h to True
		Get ComAddItem of hoItems1 "Root 2" to h
		Get ComInsertItem of hoItems1 (ComInsertItem(hoItems1,h,"Child 2.1")) "Child" to Nothing
		Get ComInsertItem of hoItems1 h "Child 2.2" to Nothing
		Set ComExpandItem of hoItems1 h to True
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1168
How can I display the EBN bigger or smaller (thumb)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
		Get ComAdd of hoAppearance 10 "CP:1 0 3 0 -3" to Nothing
		Get ComAdd of hoAppearance 17 "CP:1 3 0 -3 0" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexHSThumb to |CI$a000000
	Set ComBackground OLEexVSThumb to |CI$11000000
	Set ComScrollBars to (OLEexVScrollEmptySpace + OLEexHScrollEmptySpace + OLEexVScrollOnThumbRelease + OLEexHScrollOnThumbRelease + OLEexDisableBoth)
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Def" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1 to Nothing
		Get ComAddItem of hoItems 2 to Nothing
		Get ComAddItem of hoItems 3 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
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

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	// AddBar(Item,"Progress", #12/2/2017#,#12/2/2017#)
	// DefineSummaryBars(Item,"", -3, "")
	// Chart.ItemBackColor(Item) = color
	Variant color
	Move 14474460 to color
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDivider of hoItems llItem to -1
		Set ComCellValue of hoItems llItem 1 to (ComCellCaption(hoItems,llItem,(ComGroupItem(hoItems,llItem))))
		Set ComItemBold of hoItems llItem to True
		Set ComItemBackColor of hoItems llItem to color
	Send Destroy to hoItems
End_Procedure

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	// AddBar(Item,"Task",#12/4/2017#,#12/10/2017#)
	// ItemBar(Item,"", 514)  = ItemToIndex(Item)
	Get ComItems to Nothing
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
		Get ComAdd of hoColumns "C2" to Nothing
	Send Destroy to hoColumns
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "Item A" to h
		Set ComCellValue of hoItems1 h 1 to "SubItem A.1"
		Get ComAddItem of hoItems1 "Item A" to h
		Set ComCellValue of hoItems1 h 1 to "SubItem A.1"
		Get ComAddItem of hoItems1 "Item A" to h
		Set ComCellValue of hoItems1 h 1 to "SubItem A.1"
		Get ComAddItem of hoItems1 "Item A" to h
		Set ComCellValue of hoItems1 h 1 to "SubItem A.1"
		Get ComAddItem of hoItems1 "Item B" to h
		Set ComCellValue of hoItems1 h 1 to "SubItem B.1"
		Get ComAddItem of hoItems1 "Item B" to h
		Set ComCellValue of hoItems1 h 1 to "SubItem B.1"
	Send Destroy to hoItems1
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComItem of hoColumns1 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
1166
How can I display an item of picture type

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComScrollBySingleLine to False
	Set ComHeaderAppearance to OLEEtched
	Set ComHeaderHeight to 24
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Artikel" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHTMLCaption of hoColumn to "<u>Artikel"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Waarde" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHTMLCaption of hoColumn1 to "<u>Waarde"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComHTMLPicture "T22128" to "c:\exontrol\images\zipdisk.gif"
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "T22128-28)2D" to h
		Variant h1
		Get ComInsertItem of hoItems h "<img>T22128:128</img>" to h1
		Set ComCellValueFormat of hoItems h1 0 to OLEexHTML
		Set ComItemHeight of hoItems h1 to 128
		Get ComInsertItem of hoItems h "werkvoorbereiding" to h1
		Set ComCellValue of hoItems h1 1 to "5.80"
		Set ComCellBold of hoItems h1 1 to True
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h1,"Type")) 1 to "Eenvoudig"
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h1,"Prijs p/uur")) 1 to "60,00"
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h1,"Marhe")) 1 to "15,00%"
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h1,"Insteltijd min.")) 1 to "5,00"
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h1,"Aantal")) 1 to 1
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h1,"Kostprije")) 1 to "5,00"
		Set ComExpandItem of hoItems h1 to True
		Get ComInsertItem of hoItems h "materiall" to h1
		Set ComCellValue of hoItems h1 1 to "14.82"
		Set ComCellBold of hoItems h1 1 to True
		Set ComItemHasChildren of hoItems h1 to True
		Get ComInsertItem of hoItems h "snijden" to h1
		Set ComCellValue of hoItems h1 1 to "3.13"
		Set ComCellBold of hoItems h1 1 to True
		Set ComItemHasChildren of hoItems h1 to True
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1165
Dark mode

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant back
	Move 65536 to back
	Variant fore
	Move 16777215 to fore
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA" to Nothing
	Send Destroy to hoAppearance
	Variant voAppearance1
	Get ComVisualAppearance to voAppearance1
	Handle hoAppearance1
	Get Create (RefClass(cComAppearance)) to hoAppearance1
	Set pvComObject of hoAppearance1 to voAppearance1
		Get ComAdd of hoAppearance1 2 "gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4biaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA" to Nothing
	Send Destroy to hoAppearance1
	Variant voAppearance2
	Get ComVisualAppearance to voAppearance2
	Handle hoAppearance2
	Get Create (RefClass(cComAppearance)) to hoAppearance2
	Set pvComObject of hoAppearance2 to voAppearance2
		Get ComAdd of hoAppearance2 3 "gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5CjmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxbbuaaXLhGCYBgIA==" to Nothing
	Send Destroy to hoAppearance2
	Set ComHeaderAppearance to OLEBump
	Set ComBackColor to back
	Set ComBackColorHeader to back
	Set ComBackColorLevelHeader to back
	Set ComBackColorSortBar to back
	Set ComBackColorSortBarCaption to back
	Set ComFilterBarBackColor to back
	Set ComFilterBarForeColor to fore
	Set ComForeColor to fore
	Set ComForeColorHeader to fore
	Set ComForeColorSortBar to fore
	Set ComSelBackColor to fore
	Set ComSelForeColor to back
	Set ComBackground OLEexHeaderFilterBarButton to |CI$1000000
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComBackground OLEexToolTipAppearance to |CI$3000000
	Set ComBackground OLEexToolTipBackColor to back
	Set ComBackground OLEexToolTipForeColor to fore
	Set ComBackground OLEexSelBackColorFilter to fore
	Set ComBackground OLEexSelForeColorFilter to back
	Set ComBackground OLEexBackColorFilter to back
	Set ComBackground OLEexForeColorFilter to fore
	Set ComBackground OLEexSortBarLinkColor to back
	Set ComBackground OLEexScrollSizeGrip to back
	Set ComDescription OLEexFilterBarExclude to "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
	Send ComEndUpdate
End_Procedure
1164
I have changed the font, but the item's height remains the same. What I am doing wrong

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Get ComLoadXML "http://www.exontrol.net/testing.xml" to Nothing
	Variant voStdFont
	Get ComFont to voStdFont
	Handle hoStdFont
	Get Create (RefClass(cComStdFont)) to hoStdFont
	Set pvComObject of hoStdFont to voStdFont
		Set ComSize of hoStdFont to 22
	Send Destroy to hoStdFont
	Set ComHeaderHeight to 42
	Set ComDefaultItemHeight to 36
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant v
			Get ComDefaultItemHeight to v
		Set ComItemHeight of hoItems 0 to v
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1163
How can I specify the cell's outline, border or lines around, when the cell gets selected

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComAttachTemplate "handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=" to Nothing
		Get ComAdd of hoAppearance 2 "CP:1 -4 0 0 0" to Nothing
	Send Destroy to hoAppearance
	Set ComSelBackColor to |CI$2000000
	Set ComSelForeColor to (RGB(0,0,1))
	Set ComFullRowSelect to OLEexColumnSel
	Set ComShowFocusRect to False
	Set ComDefaultItemHeight to 24
	Set ComHeaderHeight to 24
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Cell 1")) 1 to "Cell 2"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Cell 3")) 1 to "Cell 4"
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComSelectPos of hoItems1 to 1
	Send Destroy to hoItems1
	Set ComSelectColumnIndex to 1
	Send ComEndUpdate
End_Procedure
1162
How can I specify the cell's outline, border or lines around, when the item gets selected

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComAttachTemplate "handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=" to Nothing
	Send Destroy to hoAppearance
	Set ComSelBackColor to |CI$1000000
	Set ComSelForeColor to (RGB(0,0,1))
	Set ComShowFocusRect to False
	Set ComDefaultItemHeight to 24
	Set ComHeaderHeight to 24
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Cell 1")) 1 to "Cell 2"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Cell 3")) 1 to "Cell 4"
		Set ComSelectPos of hoItems to 1
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1161
How can I specify the cell's outline, border or lines around

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComAttachTemplate "handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=" to Nothing
	Send Destroy to hoAppearance
	Set ComSelBackMode to OLEexTransparent
	Set ComShowFocusRect to False
	Set ComDefaultItemHeight to 24
	Set ComHeaderHeight to 24
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Cell 1")) 1 to "Cell 2"
		Variant h
		Get ComAddItem of hoItems "Cell 2" to h
		Set ComCellValue of hoItems h 1 to "Cell 3"
		Set ComCellBackColor of hoItems h 1 to |CI$1000000
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1160
Is it possible to highligth the match while a filter is applied

// Fired after a new column has been added.
Procedure OnComAddColumn Variant   llColumn
	Forward Send OnComAddColumn llColumn
	// Column.Def(17) = 1
End_Procedure

// Occurs when filter was changed.
Procedure OnComFilterChange 
	Forward Send OnComFilterChange 
	Variant format
	Get ComFormatABC "`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`" (ComFilterBarPromptPattern(Self)) Nothing Nothing to format
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to format
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to format
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexVLines
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Get ComAdd of hoColumns2 "Col 1" to Nothing
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Get ComAdd of hoColumns3 "Col 2" to Nothing
	Send Destroy to hoColumns3
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"219 Smith")) 1 to "Ignacio 1234"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"1666 County Road 309A")) 1 to "897 Manassa"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"38 Lone Pine")) 1 to "Durango 11"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"612 Jachim Street")) 1 to "Lamar 222"
	Send Destroy to hoItems
	Set ComFilterBarPromptPattern to "1"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarSingleLine + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Set ComFilterBarPromptType to (OLEexFilterPromptCaseSensitive + OLEexFilterPromptContainsAll)
	Send ComEndUpdate
End_Procedure
1159
How can I replace the cell's context menu ( while edit mode is running )

// Fired when right mouse button is clicked
Procedure OnComRClick 
	Forward Send OnComRClick 
	Showln "Edit Mode: " (ComEditing(Self))
	Handle hoExContextMenu
	Get Create (RefClass(cComExContextMenu)) to hoExContextMenu // Import the 'ExContextMenu 1.0 Type Library' library
		Variant voItems
		Get ComItems of hoExContextMenu to voItems
		Handle hoItems
		Get Create (RefClass(cComItems)) to hoItems
		Set pvComObject of hoItems to voItems
			Set ComToString of hoItems to "Check[chk],[sep],Item 1,Item 2,Item 3,Popup(A,B,C)"
		Send Destroy to hoItems
		Showln (ComSelect(hoExContextMenu,Nothing,Nothing,Nothing))
	Send Destroy to hoExContextMenu
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEFlat
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComOption of hoEditor OLEexEditAllowContextMenu to False
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 "Item 1" to Nothing
		Get ComAddItem of hoItems1 "Item 2" to Nothing
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1158
Is it possible to highlight the column's header once a filter is applied (sample 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSAsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDMRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwXg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqDBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=" to Nothing
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKAT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBHAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaBZhggZgagaYRoEwShWA6NZZAMQBAICA==" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexHeaderFilterBarButton to |CI$1000000
	Set ComBackground OLEexHeaderFilterBarActive to |CI$2000000
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComHeaderHeight to 28
	Set ComBackColorHeader to (RGB(255,255,255))
	Set ComDrawGridLines to OLEexRowLines
	Set ComHeaderVisible to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "C2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilter of hoColumn1 to "Item 2"
			Set ComFilterType of hoColumn1 to OLEexFilter
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "C3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDisplayFilterButton of hoColumn2 to True
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Item 1" to h
		Set ComCellValue of hoItems h 1 to "Item 2"
		Set ComCellValue of hoItems h 2 to "Item 3"
		Get ComAddItem of hoItems "Item 4" to h
		Set ComCellValue of hoItems h 1 to "Item 5"
		Set ComCellValue of hoItems h 2 to "Item 6"
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1157
How can I make the expand/collapse glyphs DPI aware

Procedure OnCreate
	Forward Send OnCreate
	Variant size
	Move 2 to size
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 3 "gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcCQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKcRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJrnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYGoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpFIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==" to Nothing
		Get ComAdd of hoAppearance 4 "gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYIgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVYghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxTiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYFoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaFKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWRYOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==" to Nothing
		Variant vSkin
			Get ComFormatABC "`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)" size Nothing Nothing to vSkin
		Get ComAdd of hoAppearance 1 vSkin to Nothing
		Variant vSkin1
			Get ComFormatABC "`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)" size Nothing Nothing to vSkin1
		Get ComAdd of hoAppearance 2 vSkin1 to Nothing
	Send Destroy to hoAppearance
	Set ComLinesAtRoot to OLEexGroupLinesAtRoot
	Set ComHasButtons to OLEexCustom
	Set ComHasButtonsCustom False to 16777216
	Set ComHasButtonsCustom True to 33554432
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1156
Is it possible to highlight the column's header once a filter is applied (sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=" to Nothing
		Get ComAdd of hoAppearance 1 "CP:2 -8 -4 2 4" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexHeaderFilterBarButton to |CI$1fefefe
	Set ComBackground OLEexHeaderFilterBarActive to |CI$1010101
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComHeaderHeight to 28
	Set ComBackColorHeader to (RGB(255,255,255))
	Set ComDrawGridLines to OLEexRowLines
	Set ComHeaderVisible to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "C2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComFilter of hoColumn1 to "Item 2"
			Set ComFilterType of hoColumn1 to OLEexFilter
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "C3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDisplayFilterButton of hoColumn2 to True
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Item 1" to h
		Set ComCellValue of hoItems h 1 to "Item 2"
		Set ComCellValue of hoItems h 2 to "Item 3"
		Get ComAddItem of hoItems "Item 4" to h
		Set ComCellValue of hoItems h 1 to "Item 5"
		Set ComCellValue of hoItems h 2 to "Item 6"
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1155
How do I update itemcount and matchitemcount of the FilterBarCaption after I added the item using the AddItem method
// Occurs when the user presses and then releases the left mouse button over the grid control.
Procedure OnComClick 
	Forward Send OnComClick 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "new" to Nothing
	Send Destroy to hoItems
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowSort of hoColumn1 to False
			Set ComWidth of hoColumn1 to 32
			Set ComFormatColumn of hoColumn1 to "1 apos ``"
			Set ComPosition of hoColumn1 to 0
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 "Item A" to Nothing
		Get ComAddItem of hoItems1 "Item B" to Nothing
		Get ComAddItem of hoItems1 "Item C" to Nothing
	Send Destroy to hoItems1
	Set ComFilterBarCaption to "`<r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
	Set ComFilterBarPromptVisible to (OLEexFilterBarCompact + OLEexFilterBarShowCloseOnRight + OLEexFilterBarShowCloseIfRequired + OLEexFilterBarCaptionVisible + OLEexFilterBarVisible + OLEexFilterBarPromptVisible)
	Send ComEndUpdate
End_Procedure
1154
I can't get values in the column properly centered. What can be the problem

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComTreeColumnIndex to -1
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAlignment of hoColumn to OLECenterAlignment
			Set ComFormatColumn of hoColumn to "ltrim(rtrim(value))"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "item 1            " to Nothing
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 "             item 2" to Nothing
	Send Destroy to hoItems1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Get ComAddItem of hoItems2 "   item 3                " to Nothing
	Send Destroy to hoItems2
	Send ComEndUpdate
End_Procedure
1153
The Edit method does not work while ReadOnly property is exLocked and the first column is hidden. Is there any fix

// Occurs when the user dblclk the left mouse button over an object.
Procedure OnComDblClick Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComDblClick llShift llX llY
	Variant var_ItemFromPoint
	Get ComItemFromPoint -1 -1 c hit to var_ItemFromPoint
	Set ComFocusColumnIndex to c
	Send ComEdit Nothing
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComAutoEdit to False
	Set ComReadOnly to OLEexLocked
	Set ComAutoSearch to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Contains" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAutoSearch of hoColumn1 to OLEexContains
			Variant voEditor
			Get ComEditor of hoColumn1 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,Nothing)) 1 to "Tom Hanks"
		Set ComCellValue of hoItems (ComAddItem(hoItems,Nothing)) 1 to "Leonardo DiCaprio"
		Set ComCellValue of hoItems (ComAddItem(hoItems,Nothing)) 1 to "Will Smith"
		Set ComCellValue of hoItems (ComAddItem(hoItems,Nothing)) 1 to "Tom Cruise"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1152
How can I enable the Undo/Redo feature

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAllowUndoRedo to True
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "P1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "P2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn1 to True
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Press CTRL + Z for Undo, and CTRL + Y for Redo" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1151
The incremental search feature is no working for columns with editor assigned. What can be done

// Occurs when the user dblclk the left mouse button over an object.
Procedure OnComDblClick Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComDblClick llShift llX llY
	Send ComEdit Nothing
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComAutoEdit to False
	Set ComAutoSearch to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Contains" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAutoSearch of hoColumn to OLEexContains
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Tom Hanks" to Nothing
		Get ComAddItem of hoItems "Leonardo DiCaprio" to Nothing
		Get ComAddItem of hoItems "Will Smith" to Nothing
		Get ComAddItem of hoItems "Tom Cruise" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
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

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Multiple-Columns Tree DropDownListType" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Send ComAddItem of hoEditor 0 "KR|Korea, Republic of" Nothing
				Send ComAddItem of hoEditor 1 "MO|Macao" Nothing
				Send ComAddItem of hoEditor 2 "SA|Saudi Arabia" Nothing
				Send ComAddItem of hoEditor 3 "EG|Egypt" Nothing
				Send ComAddItem of hoEditor 4 "GB|United Kingdom" Nothing
				Send ComAddItem of hoEditor 5 "GT|Guatemala" Nothing
				Send ComAddItem of hoEditor 6 "SR|Suriname" Nothing
				Send ComAddItem of hoEditor 7 "BM|Bermuda" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "EG" to Nothing
		Get ComAddItem of hoItems "GB" to Nothing
		Get ComAddItem of hoItems "BM" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1149
My table includes codes/keys for items, can I display a drop down editor to include more information

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Multiple-Columns DropDownListType" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Set ComDropDownAutoWidth of hoEditor to OLEexDropDownEditorWidth
				Set ComOption of hoEditor OLEexDropDownColumnCaption to "City¦Coordinates¦State"
				Send ComAddItem of hoEditor 0 "JV3|Jollyville¦3026N 09746W¦Texas" Nothing
				Send ComAddItem of hoEditor 1 "TMO|Altamont¦4021N 11017W¦Utah" Nothing
				Send ComAddItem of hoEditor 2 "IIM|Williamston¦4241N 08417W¦Michigan" Nothing
				Send ComAddItem of hoEditor 3 "IWN|Merrittstown¦3958N 07952W¦Pennsylvania" Nothing
				Send ComAddItem of hoEditor 4 "HOU|Houston¦2945N 09521W¦Texas" Nothing
				Send ComAddItem of hoEditor 5 "GSF|Gales Ferry¦4125N 07205W¦Connecticut" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "HOU" to Nothing
		Get ComAddItem of hoItems "IIM" to Nothing
		Get ComAddItem of hoItems "TMO" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1148
How can I display and select from a multiple-columns tree editor

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Multiple-Columns Tree DropDownListType" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Set ComDropDownAutoWidth of hoEditor to OLEexDropDownEditorWidth
				Set ComOption of hoEditor OLEexDropDownColumnCaption to "Name¦Title¦City¦Phone"
				Set ComOption of hoEditor OLEexDropDownColumnWidth to "224¦¦¦96"
				Send ComAddItem of hoEditor 1 "Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857" 1
				Send ComAddItem of hoEditor 2 "Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482" 2
				Send ComInsertItem of hoEditor 3 "Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412" 3 2
				Send ComInsertItem of hoEditor 4 "Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122" 3 2
				Send ComInsertItem of hoEditor 5 "Steven Buchanan¦Sales Manager¦London¦(71) 555-4848" 2 2
				Send ComInsertItem of hoEditor 6 "Michael Suyama¦Sales Representative¦London¦(71) 555-7773" 1 5
				Send ComInsertItem of hoEditor 7 "Robert King¦Sales Representative¦Kirkland¦(71) 555-5598" 2 2
				Send ComInsertItem of hoEditor 8 "Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189" 3 2
				Send ComInsertItem of hoEditor 9 "Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444" 2 5
				Send ComExpandAll of hoEditor
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1 to Nothing
		Get ComAddItem of hoItems 2 to Nothing
		Get ComAddItem of hoItems 4 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1147
Does you control support multiple-columns for a drop down editor

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Multiple-Columns DropDownListType" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Set ComDropDownAutoWidth of hoEditor to OLEexDropDownEditorWidth
				Send ComAddItem of hoEditor 0 "Jollyville¦JV3¦3026N 09746W¦TX" Nothing
				Send ComAddItem of hoEditor 1 "Altamont¦TMO¦4021N 11017W¦UT" Nothing
				Send ComAddItem of hoEditor 2 "Williamston¦IIM¦4241N 08417W¦MI" Nothing
				Send ComAddItem of hoEditor 3 "Merrittstown¦IWN¦3958N 07952W¦PA" Nothing
				Send ComAddItem of hoEditor 4 "Houston¦HOU¦2945N 09521W¦TX" Nothing
				Send ComAddItem of hoEditor 5 "Gales Ferry¦GSF¦4125N 07205W¦CT" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComInsertItem of hoItems 0 "" 1 to Nothing
		Get ComInsertItem of hoItems 0 "" 2 to Nothing
		Get ComInsertItem of hoItems 0 "" 4 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1146
Is it possible to show the filterbar on top of the rows

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFilterBarPromptVisible to OLEexFilterBarTop
	Set ComHeaderHeight to 24
	Set ComFilterBarHeight to (ComHeaderHeight(Self))
	Set ComHeaderAppearance to OLEFlat
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexPattern
			Set ComFilter of hoColumn to "B*"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Index" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 index ``"
			Set ComPosition of hoColumn1 to 0
			Set ComWidth of hoColumn1 to 48
			Set ComAllowSizing of hoColumn1 to False
			Set ComSortType of hoColumn1 to OLESortNumeric
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "A.1" to Nothing
		Get ComAddItem of hoItems "A.2" to Nothing
		Get ComAddItem of hoItems "B.1" to Nothing
		Get ComAddItem of hoItems "B.2" to Nothing
		Get ComAddItem of hoItems "B.3" to Nothing
		Get ComAddItem of hoItems "C" to Nothing
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1145
DragDrop (with visual effect)

// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
Procedure OnComOLEDragDrop Variant   llData Integer   llEffect Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComOLEDragDrop llData llEffect llButton llShift llX llY
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	Variant i
	Get ComItemFromPoint -1 -1 c hit to i
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems i to True
	Send Destroy to hoItems
End_Procedure

// Occurs when the OLEDrag method is called.
Procedure OnComOLEStartDrag Variant   llData Integer   llAllowedEffects
	Forward Send OnComOLEStartDrag llData llAllowedEffects
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	Move 1 to AllowedEffects
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGjuKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexListOLEDropPosition to |CI$1000000
	Set ComBackground OLEexDragDropBefore to (RGB(0,0,0))
	Set ComBackground OLEexDragDropAfter to (RGB(255,255,255))
	Set ComOLEDropMode to OLEexOLEDropManual
	Set ComAutoDrag to OLEexAutoDragPositionAnyOnRight
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComIndent to 16
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "Root" to h
		Get ComInsertItem of hoItems1 h "Child 1" to Nothing
		Get ComInsertItem of hoItems1 h "Child 2" to Nothing
		Set ComExpandItem of hoItems1 h to True
	Send Destroy to hoItems1
	Showln "You can:"
	Showln "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)"
	Showln "B) right-click to re-arrange the item position inside the same control"
	Showln "This sample shows how you can insert the data being dropped as a child of the item being hovered."
End_Procedure
1144
DragDrop (with no visual effect, hide item while drag and drop)

// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
Procedure OnComOLEDragDrop Variant   llData Integer   llEffect Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComOLEDragDrop llData llEffect llButton llShift llX llY
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	Variant i
	Get ComItemFromPoint -1 -1 c hit to i
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems i to True
	Send Destroy to hoItems
End_Procedure

// Occurs when the OLEDrag method is called.
Procedure OnComOLEStartDrag Variant   llData Integer   llAllowedEffects
	Forward Send OnComOLEStartDrag llData llAllowedEffects
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	Move 1 to AllowedEffects
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexDragDropBefore to (RGB(0,0,0))
	Set ComBackground OLEexDragDropAfter to (RGB(255,255,255))
	Set ComOLEDropMode to OLEexOLEDropManual
	Set ComAutoDrag to OLEexAutoDragPositionAnyOnRight
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComIndent to 16
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "Root" to h
		Get ComInsertItem of hoItems1 h "Child 1" to Nothing
		Get ComInsertItem of hoItems1 h "Child 2" to Nothing
		Set ComExpandItem of hoItems1 h to True
	Send Destroy to hoItems1
	Showln "You can:"
	Showln "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)"
	Showln "B) right-click to re-arrange the item position inside the same control"
	Showln "This sample shows how you can insert the data being dropped as a child of the item being hovered."
End_Procedure
1143
DragDrop

// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
Procedure OnComOLEDragDrop Variant   llData Integer   llEffect Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComOLEDragDrop llData llEffect llButton llShift llX llY
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	Variant i
	Get ComItemFromPoint -1 -1 c hit to i
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems i to True
	Send Destroy to hoItems
End_Procedure

// Occurs when the OLEDrag method is called.
Procedure OnComOLEStartDrag Variant   llData Integer   llAllowedEffects
	Forward Send OnComOLEStartDrag llData llAllowedEffects
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	Move 1 to AllowedEffects
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComOLEDropMode to OLEexOLEDropManual
	Set ComAutoDrag to OLEexAutoDragPositionAnyOnRight
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComIndent to 16
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "Root" to h
		Get ComInsertItem of hoItems1 h "Child 1" to Nothing
		Get ComInsertItem of hoItems1 h "Child 2" to Nothing
		Set ComExpandItem of hoItems1 h to True
	Send Destroy to hoItems1
	Showln "You can:"
	Showln "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)"
	Showln "B) right-click to re-arrange the item position inside the same control"
	Showln "This sample shows how you can insert the data being dropped as a child of the item being hovered."
End_Procedure
1142
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Item" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Pos" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComPosition of hoColumn to 0
			Set ComWidth of hoColumn to 32
			Set ComAllowSizing of hoColumn to False
			Set ComFormatColumn of hoColumn to "1 index ``"
			Set ComAllowSort of hoColumn to False
			Set ComAllowDragging of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1141
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComBackground OLEexCursorHoverColumn to -1
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Item" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Pos" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComPosition of hoColumn to 0
			Set ComWidth of hoColumn to 32
			Set ComAllowSizing of hoColumn to False
			Set ComFormatColumn of hoColumn to "1 index ``"
			Set ComAllowSort of hoColumn to False
			Set ComAllowDragging of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
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

// Occurs when filter was changed.
Procedure OnComFilterChange 
	Forward Send OnComFilterChange 
	Variant v
		Variant vA
		Variant voItems
		Get ComItems to voItems
		Handle hoItems
		Get Create (RefClass(cComItems)) to hoItems
		Set pvComObject of hoItems to voItems
			Get ComMatchItemCount of hoItems to vA
		Send Destroy to hoItems
		Get ComFormatABC "value > 0 ? 18 : 0" vA Nothing Nothing to v
	Set ComIndent to v
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComIndent to 18
	Set ComFilterInclude to OLEexMatchingItemsOnly
	Set ComDrawGridLines to OLEexVLines
	Set ComHeaderAppearance to OLEFlat
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexFilter
			Set ComFilterList of hoColumn to OLEexShowCheckBox
			Set ComFilter of hoColumn to "C1"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Pos" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 rindex ``"
			Set ComPosition of hoColumn1 to 0
			Set ComAllowSizing of hoColumn1 to False
			Set ComAllowDragging of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "R1" to h
		Variant h2
		Get ComInsertItem of hoItems1 h "S" to h2
		Get ComInsertItem of hoItems1 h2 "C1" to Nothing
		Get ComInsertItem of hoItems1 h2 "C2" to Nothing
		Get ComInsertItem of hoItems1 h "C1" to Nothing
		Get ComInsertItem of hoItems1 h "C2" to Nothing
		Set ComExpandItem of hoItems1 h to True
		Get ComAddItem of hoItems1 "R2" to h
		Get ComInsertItem of hoItems1 h "C1" to Nothing
		Get ComInsertItem of hoItems1 h "C2" to Nothing
	Send Destroy to hoItems1
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1139
How can I display the total/sum/aggregate in the same column, when the user groups by a column

// Fired after a new column has been added.
Procedure OnComAddColumn Variant   llColumn
	Forward Send OnComAddColumn llColumn
	Move to Column
End_Procedure

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDivider of hoItems llItem to -1
		Variant v
			Get ComBackColorSortBar to v
		Set ComItemBackColor of hoItems llItem to v
		Variant v1
			Get ComHeaderHeight to v1
		Set ComItemHeight of hoItems llItem to v1
		Set ComCellMerge of hoItems llItem 0 to "1,2,3,4,5,7,8,9,10,11,12"
		Set ComCellValue of hoItems llItem 13 to "count(current,rec,1)"
		Set ComCellValueFormat of hoItems llItem 13 to (OLEexTotalField + OLEexHTML)
		Set ComCellValue of hoItems llItem 0 to (ComCellCaption(hoItems,llItem,(ComGroupItem(hoItems,llItem))))
		Set ComFormatCell of hoItems llItem 0 to "`<b>` + value + `</b> <font ;7><off 3><fgcolor=808080>(` + %13 +  `)`"
		Set ComCellValue of hoItems llItem 6 to "sum(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem 6 to (OLEexTotalField + OLEexHTML)
		Set ComCellForeColor of hoItems llItem 6 to (RGB(102,102,102))
	Send Destroy to hoItems
End_Procedure

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComIndent to 12
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Set ComBackColorSortBar to (RGB(240,240,240))
	Set ComAutoDrag to OLEexAutoDragScroll
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Set ComHeaderHeight to 24
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Count" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComItem of hoColumns "Freight" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant v2
				Get ComBackColorSortBar to v2
			Set ComDef of hoColumn1 OLEexCellBackColor to v2
			Set ComDef of hoColumn1 OLEexHeaderBackColor to (ComDef(hoColumn1,OLEexCellBackColor))
			Set ComDef of hoColumn1 OLEexCellPaddingRight to 4
			Set ComDef of hoColumn1 OLEexCellPaddingLeft to 4
			Set ComHeaderBold of hoColumn1 to True
			Set ComAllowGroupBy of hoColumn1 to False
			Set ComFormatColumn of hoColumn1 to "value format ``"
			Set ComAlignment of hoColumn1 to OLERightAlignment
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComItem of hoColumns 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComAllowGroupBy of hoColumn2 to False
			Set ComDef of hoColumn2 OLEexCellValueFormat to 1
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComItem of hoColumns "ShipCountry" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComSortOrder of hoColumn3 to OLESortAscending
		Send Destroy to hoColumn3
	Send Destroy to hoColumns
	Set ComScrollBySingleLine to False
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComLockedItemCount of hoItems1 OLEexBottom to 1
		Variant hL
		Get ComLockedItem of hoItems1 OLEexBottom 0 to hL
		Set ComItemHeight of hoItems1 hL to 24
		Set ComItemBold of hoItems1 hL to True
		Variant v3
			Get ComBackColorSortBar to v3
		Set ComItemBackColor of hoItems1 hL to v3
		Set ComCellValue of hoItems1 hL 6 to "sum(all,rec,dbl(%6))"
		Set ComCellValueFormat of hoItems1 hL 6 to (OLEexTotalField + OLEexHTML)
		Set ComCellHAlignment of hoItems1 hL 6 to OLERightAlignment
		Set ComFormatCell of hoItems1 hL 6 to "value format ``"
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1138
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDrawGridLines to OLEexHLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJXhaI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==" to Nothing
	Send Destroy to hoAppearance
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Position" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "((1 rindex ``) contains `.`) = 0"
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%C1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to |CI$1e0e0e0
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComAddItem of hoItems "Root 3" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1137
I can not center or align the cell's caption and icon, when it displays the hierarchy

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "<img>1</img> Task (left)" to hChild
		Get ComInsertItem of hoItems h "<c><img>2</img> Task (center)" to hChild
		Get ComInsertItem of hoItems h "<r>Task (right) <img>3</img>" to hChild
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1136
How do I mask for float/integer number

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Type" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 32
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Editor" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Integer" to h
		Set ComCellValue of hoItems h 1 to "12"
		Variant voEditor
		Get ComCellEditor of hoItems h 1 to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComEditType of hoEditor to OLEEditType
			Set ComNumeric of hoEditor to OLEexInteger
		Send Destroy to hoEditor
		Get ComAddItem of hoItems "Integer (mask, group)" to h
		Set ComCellValue of hoItems h 1 to "10002"
		Set ComFormatCell of hoItems h 1 to "value format `0||`"
		Variant voEditor1
		Get ComCellEditor of hoItems h 1 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEMaskType
			Set ComMask of hoEditor1 to ";;;float,digits=0,invalid=empty,warning=invalid character"
		Send Destroy to hoEditor1
		Get ComAddItem of hoItems "Integer (mask, no group)" to h
		Set ComCellValue of hoItems h 1 to "10002"
		Set ComFormatCell of hoItems h 1 to "value format `0|0|`"
		Variant voEditor2
		Get ComCellEditor of hoItems h 1 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEMaskType
			Set ComMask of hoEditor2 to ";;;float,digits=0,grouping=,invalid=empty,warning=invalid character"
		Send Destroy to hoEditor2
		Get ComAddItem of hoItems "Float" to h
		Set ComCellValue of hoItems h 1 to "+12.34E+2"
		Variant voEditor3
		Get ComCellEditor of hoItems h 1 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComEditType of hoEditor3 to OLEEditType
			Set ComNumeric of hoEditor3 to OLEexFloat
		Send Destroy to hoEditor3
		Get ComAddItem of hoItems "Float (no signs)" to h
		Set ComCellValue of hoItems h 1 to "12.34E-2"
		Variant voEditor4
		Get ComCellEditor of hoItems h 1 to voEditor4
		Handle hoEditor4
		Get Create (RefClass(cComEditor)) to hoEditor4
		Set pvComObject of hoEditor4 to voEditor4
			Set ComEditType of hoEditor4 to OLEEditType
			Set ComNumeric of hoEditor4 to (OLEexDisableSigns + OLEexFloat)
		Send Destroy to hoEditor4
		Get ComAddItem of hoItems "Float-Integer" to h
		Set ComCellValue of hoItems h 1 to "+12.34"
		Variant voEditor5
		Get ComCellEditor of hoItems h 1 to voEditor5
		Handle hoEditor5
		Get Create (RefClass(cComEditor)) to hoEditor5
		Set pvComObject of hoEditor5 to voEditor5
			Set ComEditType of hoEditor5 to OLEEditType
			Set ComNumeric of hoEditor5 to OLEexFloatInteger
		Send Destroy to hoEditor5
		Get ComAddItem of hoItems "Float-Integer (no signs)" to h
		Set ComCellValue of hoItems h 1 to "12.34"
		Variant voEditor6
		Get ComCellEditor of hoItems h 1 to voEditor6
		Handle hoEditor6
		Get Create (RefClass(cComEditor)) to hoEditor6
		Set pvComObject of hoEditor6 to voEditor6
			Set ComEditType of hoEditor6 to OLEEditType
			Set ComNumeric of hoEditor6 to (OLEexDisableSigns + OLEexFloatInteger)
		Send Destroy to hoEditor6
		Get ComAddItem of hoItems "Float (mask,group)" to h
		Set ComCellValue of hoItems h 1 to "10002.34"
		Set ComFormatCell of hoItems h 1 to "value format `2`"
		Variant voEditor7
		Get ComCellEditor of hoItems h 1 to voEditor7
		Handle hoEditor7
		Get Create (RefClass(cComEditor)) to hoEditor7
		Set pvComObject of hoEditor7 to voEditor7
			Set ComEditType of hoEditor7 to OLEMaskType
			Set ComMask of hoEditor7 to ";;;float,invalid=empty,warning=invalid character"
		Send Destroy to hoEditor7
		Get ComAddItem of hoItems "Float (mask, no group)" to h
		Set ComCellValue of hoItems h 1 to "10002.34"
		Set ComFormatCell of hoItems h 1 to "value format `2|0|`"
		Variant voEditor8
		Get ComCellEditor of hoItems h 1 to voEditor8
		Handle hoEditor8
		Get Create (RefClass(cComEditor)) to hoEditor8
		Set pvComObject of hoEditor8 to voEditor8
			Set ComEditType of hoEditor8 to OLEMaskType
			Set ComMask of hoEditor8 to ";;;float,grouping=,invalid=empty,warning=invalid character"
		Send Destroy to hoEditor8
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1135
How do I set an extra data for each item
// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
	Variant i
	Get ComItemFromPoint -1 -1 c hit to i
	Variant v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComItemData of hoItems i to v
	Send Destroy to hoItems
	Showln i v
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComItemData of hoItems1 (ComAddItem(hoItems1,"method 1")) to "your extra data of method 1"
		Get ComInsertItem of hoItems1 0 "your extra data of method 2" "method 2" to Nothing
	Send Destroy to hoItems1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComDefaultItem of hoItems2 to (ComAddItem(hoItems2,"method 3"))
		Set ComItemData of hoItems2 0 to "your extra data of method 3"
	Send Destroy to hoItems2
	Send ComEndUpdate
End_Procedure
1134
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComAttachTemplate "handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}"
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesVSolid
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Item" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Pos" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComPosition of hoColumn to 0
			Set ComWidth of hoColumn to 32
			Set ComAllowSizing of hoColumn to False
			Set ComFormatColumn of hoColumn to "1 index ``"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1133
How can I change the Exclude field in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComHTMLPicture "exclude" to "gCJKBOI4NBQaBQAhQNJJIIhShQACERCAEAcRdrdcUQhQDOZCJJUBEjbbhJ7giIJOBILJziJvl4BeKibhDiIZOhFLB0KZvMx0O5hORlAB3owuNJuNZzMZhOBlFxvORnTbuHgaiIeKBMKhFf9fDIcEoPCAVEAlGI4HhBBYMCARCQVGg4IhVMCAWC2XY1Q7WJ8RBB0KROKYAYDBbzicjndD6fA/VsRHRJIhBkRbMYIGwGAQjA2fRYOEBoYjBFBx1ATCgCGQ8M7OTjSaJMDRDKIwYu5DrIMBgSAADKJTqhBhyRApAA3FAucZPPilokRJJFJxEVxCMCCgIA=="
	Set ComDescription OLEexFilterBarExclude to "<img>exclude</img>"
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1132
How can I change the Exclude field in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDescription OLEexFilterBarExclude to "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1131
The grid lines looks different then before. What should I do

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDrawGridLines to OLEexAllLines
	Set ComGridLineStyle to OLEexGridLinesGeometric
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Tasks" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComHeaderVisible to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Project" to h
		Variant hChild
		Get ComInsertItem of hoItems h "Task 1" to hChild
		Set ComSelectItem of hoItems hChild to True
		Get ComInsertItem of hoItems h "Task 2" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Get ComInsertItem of hoItems h "Task 3" to hChild
		Set ComCellState of hoItems hChild 0 to 1
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1130
Can I sort the column by check-state

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComSortType of hoColumn to OLEexSortByState
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems Nothing to Nothing
		Set ComCellState of hoItems (ComAddItem(hoItems,Nothing)) 0 to 1
		Set ComCellState of hoItems (ComAddItem(hoItems,Nothing)) 0 to 1
		Get ComAddItem of hoItems Nothing to Nothing
	Send Destroy to hoItems
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 0 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSortOrder of hoColumn1 to OLESortAscending
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
1129
Can I sort the column by image

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Image" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLEexSortByImage
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellImage of hoItems (ComAddItem(hoItems,Nothing)) 0 to 3
		Get ComAddItem of hoItems Nothing to Nothing
		Set ComCellImage of hoItems (ComAddItem(hoItems,Nothing)) 0 to 1
		Set ComCellImage of hoItems (ComAddItem(hoItems,Nothing)) 0 to 2
	Send Destroy to hoItems
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 0 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSortOrder of hoColumn1 to OLESortAscending
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
1128
Can I sort the column by value(numeric)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Value" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "`<fgcolor=808080><off 4><font ;6> ` + (1 index ``)  + ` </font></off></fgcolor>` + value"
			Set ComSortType of hoColumn to (OLEexSortByValue + OLESortNumeric)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "1" to Nothing
		Get ComAddItem of hoItems "10" to Nothing
		Get ComAddItem of hoItems "2" to Nothing
		Get ComAddItem of hoItems "20" to Nothing
	Send Destroy to hoItems
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 0 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSortOrder of hoColumn1 to OLESortAscending
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
1127
Can I sort a column by cell's state (checked, unchecked) rather than caption

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComSortType of hoColumn to OLESortNumeric
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems True to Nothing
		Get ComAddItem of hoItems False to Nothing
		Get ComAddItem of hoItems False to Nothing
		Get ComAddItem of hoItems True to Nothing
	Send Destroy to hoItems
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 0 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSortOrder of hoColumn1 to OLESortAscending
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
1126
How do I get the item's auto-number, when using FormatColumn property, as CellValue gets empty

// Fired after a new item has been selected.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Showln "pos: " (ComCellCaption(hoItems,(ComFocusItem(hoItems)),1))
		Showln "rpos(1): " (ComCellCaption(hoItems,(ComFocusItem(hoItems)),2))
		Showln "rpos(2): " (ComCellCaption(hoItems,(ComFocusItem(hoItems)),3))
		Showln "apos: " (ComCellCaption(hoItems,(ComFocusItem(hoItems)),4))
		Showln "index: " (ComCellCaption(hoItems,(ComFocusItem(hoItems)),5))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDrawGridLines to OLEexRowLines
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "pos" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "1 pos ``"
			Set ComPosition of hoColumn to 0
			Set ComWidth of hoColumn to 48
			Set ComAllowSizing of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "rpos(1)" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 rpos ``"
			Set ComPosition of hoColumn1 to 1
			Set ComWidth of hoColumn1 to 48
			Set ComAllowSizing of hoColumn1 to False
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "rpos(2)" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to "1 rpos `.||A-Z`"
			Set ComPosition of hoColumn2 to 2
			Set ComWidth of hoColumn2 to 48
			Set ComAllowSizing of hoColumn2 to False
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "apos" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFormatColumn of hoColumn3 to "1 apos ``"
			Set ComPosition of hoColumn3 to 3
			Set ComWidth of hoColumn3 to 48
			Set ComAllowSizing of hoColumn3 to False
		Send Destroy to hoColumn3
		Variant voColumn4
		Get ComAdd of hoColumns "index" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComFormatColumn of hoColumn4 to "1 index ``"
			Set ComPosition of hoColumn4 to 4
			Set ComWidth of hoColumn4 to 48
			Set ComAllowSizing of hoColumn4 to False
		Send Destroy to hoColumn4
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "Item 1" to h
		Get ComInsertItem of hoItems1 h "Child 1" to Nothing
		Variant hSel
		Get ComInsertItem of hoItems1 h "Child 2" to hSel
		Set ComExpandItem of hoItems1 h to True
		Get ComAddItem of hoItems1 "Item 2" to Nothing
		Get ComAddItem of hoItems1 "Item 3" to Nothing
	Send Destroy to hoItems1
	Send ComEndUpdate
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComSelectItem of hoItems2 hSel to True
	Send Destroy to hoItems2
End_Procedure
1125
How can I display UNICODE characters

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voStdFont
	Get ComFont to voStdFont
	Handle hoStdFont
	Get Create (RefClass(cComStdFont)) to hoStdFont
	Set pvComObject of hoStdFont to voStdFont
		Set ComName of hoStdFont to "Arial Unicode"
		Set ComSize of hoStdFont to 22
	Send Destroy to hoStdFont
	Set ComHeaderVisible to False
	Set ComDefaultItemHeight to 48
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Ӓӓ" to Nothing
		Get ComAddItem of hoItems "ᦜᦝ;ᦞ" to Nothing
		Get ComAddItem of hoItems "ɮɭ;ɯ" to Nothing
		Get ComAddItem of hoItems "勳勴勵勶" to Nothing
		Variant vValue
			Get ComVersion to vValue
		Set ComFormatCell of hoItems (ComAddItem(hoItems,vValue)) 0 to "(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1124
How do I display the position of the item with 0-padding

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "((1 apos ``) lpad `00`) + `. `  + value"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
		Get ComAddItem of hoItems "Item D" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1123
Can't get the +/- to be displayed on a divider item. What else can I do

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDrawGridLines to OLEexAllLines
	Set ComTreeColumnIndex to 0
	Set ComMarkSearchColumn to False
	Set ComFullRowSelect to OLEexColumnSel
	Set ComHeaderAppearance to (|CI$fffffff8 + OLEBump + OLESunken)
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 32
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "C2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "1 index ``"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Cell 1" to h
		Set ComCellSingleLine of hoItems h 1 to False
		Get ComAddItem of hoItems "This is bit of text merges all cells in the item (divider shows no +/-)" to h
		Set ComItemDivider of hoItems h to 0
		Set ComItemBackColor of hoItems h to (RGB(240,240,240))
		Set ComItemDividerLine of hoItems h to OLEEmptyLine
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Cell 3" to h
		Get ComAddItem of hoItems "This is bit of text merges all cells in the item (merge shows +/-)" to h
		Set ComItemBackColor of hoItems h to (RGB(240,240,240))
		Set ComCellMerge of hoItems h 0 to 1
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Get ComInsertItem of hoItems h "Child 4" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1122
How can I define a column of button type

// Occurs when user clicks on the cell's button.
Procedure OnComButtonClick HITEM   llItem Integer   llColIndex Variant   llKey
	Forward Send OnComButtonClick llItem llColIndex llKey
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Showln (ComCellValue(hoItems,llItem,llColIndex))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Button" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasButton to True
			Set ComDef of hoColumn OLEexCellButtonAutoWidth to False
			Set ComFormatColumn of hoColumn to "``"
			Set ComAllowSizing of hoColumn to False
			Set ComWidth of hoColumn to 48
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Second" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "` Item ` + 1 index ``"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 "Button 1" to Nothing
		Get ComAddItem of hoItems1 "Button 2" to Nothing
		Get ComAddItem of hoItems1 "Button 3 " to Nothing
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1121
Is it possible to configure different colour/icon when there is a active filter

// Occurs when filter was changed.
Procedure OnComFilterChange 
	Forward Send OnComFilterChange 
	Variant vA
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Get ComFilterType of hoColumn to vA
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComBackground OLEexHeaderFilterBarButton to (ComFormatABC(Self,"value = 0 ? 0x1000001 : 0x10000FF ",vA,Nothing,Nothing))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Set ComRenderType of hoAppearance to -16777216
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA" to Nothing
	Send Destroy to hoAppearance
	Set ComDrawGridLines to OLEexAllLines
	Set ComShowFocusRect to False
	Set ComBackground OLEexHeaderFilterBarButton to |CI$1000001
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComHeaderAppearance to OLEEtched
	Set ComBackColorHeader to (RGB(255,255,255))
	Set ComHeaderVisible to True
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Filter" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComAllowSort of hoColumn1 to False
			Set ComAllowDragging of hoColumn1 to False
			Set ComFilterList of hoColumn1 to OLEexShowCheckBox
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFilter of hoColumn2 to "Item B"
			Set ComFilterType of hoColumn2 to OLEexFilter
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
1120
How can I display the type of the value the column display

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Values" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn to "value + ` <off 4><fgcolor=808080>type(` + type(%0) + `)`"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems -1 to Nothing
		Get ComAddItem of hoItems "string" to Nothing
		Get ComAddItem of hoItems "1/1/2001" to Nothing
		Get ComAddItem of hoItems 2 to Nothing
		Get ComAddItem of hoItems True to Nothing
		Get ComAddItem of hoItems 12.34 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1119
I want to create a conditional format for a column, verifying that the value of the cell is numeric, how can I do

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Values" to Nothing
	Send Destroy to hoColumns
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "type(%0) in (2,3,4,5,18,19,20,21)" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComForeColor of hoConditionalFormat to (RGB(255,0,0))
			Set ComBold of hoConditionalFormat to True
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voConditionalFormats1
	Get ComConditionalFormats to voConditionalFormats1
	Handle hoConditionalFormats1
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats1
	Set pvComObject of hoConditionalFormats1 to voConditionalFormats1
		Variant voConditionalFormat1
		Get ComAdd of hoConditionalFormats1 "type(%0) = 11" Nothing to voConditionalFormat1
		Handle hoConditionalFormat1
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
		Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
			Set ComForeColor of hoConditionalFormat1 to (RGB(0,255,0))
		Send Destroy to hoConditionalFormat1
	Send Destroy to hoConditionalFormats1
	Variant voConditionalFormats2
	Get ComConditionalFormats to voConditionalFormats2
	Handle hoConditionalFormats2
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats2
	Set pvComObject of hoConditionalFormats2 to voConditionalFormats2
		Variant voConditionalFormat2
		Get ComAdd of hoConditionalFormats2 "type(%0) = 7" Nothing to voConditionalFormat2
		Handle hoConditionalFormat2
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat2
		Set pvComObject of hoConditionalFormat2 to voConditionalFormat2
			Set ComForeColor of hoConditionalFormat2 to (RGB(0,0,255))
		Send Destroy to hoConditionalFormat2
	Send Destroy to hoConditionalFormats2
	Variant voConditionalFormats3
	Get ComConditionalFormats to voConditionalFormats3
	Handle hoConditionalFormats3
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats3
	Set pvComObject of hoConditionalFormats3 to voConditionalFormats3
		Variant voConditionalFormat3
		Get ComAdd of hoConditionalFormats3 "type(%0) in (0,1)" Nothing to voConditionalFormat3
		Handle hoConditionalFormat3
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat3
		Set pvComObject of hoConditionalFormat3 to voConditionalFormat3
			Set ComBackColor of hoConditionalFormat3 to (RGB(240,240,240))
		Send Destroy to hoConditionalFormat3
	Send Destroy to hoConditionalFormats3
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems -1 to Nothing
		Get ComAddItem of hoItems "string" to Nothing
		Get ComAddItem of hoItems "1/1/2001" to Nothing
		Get ComAddItem of hoItems 2 to Nothing
		Get ComAddItem of hoItems True to Nothing
		Get ComAddItem of hoItems 12.34 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1118
How can I assign a computed value on a different column based on other columns

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComFreezeEvents True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant v
			Get ComFormatABC "int(255*sin(value/2))" llNewValue Nothing Nothing to v
		Set ComCellValue of hoItems llItem 1 to v
		Variant v1
			Get ComFormatABC "int(255*cos(value/2))" llNewValue Nothing Nothing to v1
		Set ComCellValue of hoItems llItem 2 to v1
	Send Destroy to hoItems
	Send ComFreezeEvents False
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackMode to OLEexTransparent
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Value" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComWidth of hoColumn to 64
			Set ComAllowSizing of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Assign A" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexCellBackColor to 16448250
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Assign B" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDef of hoColumn2 OLEexCellBackColor to 16448250
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant v2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Get ComAdd of hoColumns3 "Computed" to v2
	Send Destroy to hoColumns3
	Variant var_Column
	Move v2 to var_Column
		Set ComDef OLEexCellBackColor to 16448250
		Set ComComputedField to "%1 + %2"
		Set ComFormatColumn to "value format ``"
		Set ComAlignment to OLERightAlignment
		Set ComHeaderAlignment to (ComAlignment(Self))
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%3 >= 0" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 1989 to Nothing
		Get ComAddItem of hoItems1 2001 to Nothing
		Get ComAddItem of hoItems1 2017 to Nothing
		Get ComAddItem of hoItems1 2018 to Nothing
		Get ComAddItem of hoItems1 2019 to Nothing
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1117
How can I get computed a value on a different column

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Year" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComWidth of hoColumn to 64
			Set ComAllowSizing of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Easter" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "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))"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1989 to Nothing
		Get ComAddItem of hoItems 2001 to Nothing
		Get ComAddItem of hoItems 2017 to Nothing
		Get ComAddItem of hoItems 2018 to Nothing
		Get ComAddItem of hoItems 2019 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
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)

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "(%0 >= 0)" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComExpression of hoConditionalFormat to "(0=type(%CD0)) and (%0 >= 0)"
			Set ComBold of hoConditionalFormat to True
			Set ComForeColor of hoConditionalFormat to (RGB(255,0,0))
			Showln "ConditionalFormat.Valid" (ComValid(hoConditionalFormat))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComNumeric of hoEditor to OLEexInteger
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComSortType of hoColumn to OLESortNumeric
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 100 to Nothing
		Get ComAddItem of hoItems -25 to Nothing
		Get ComAddItem of hoItems 31 to Nothing
		Get ComAddItem of hoItems -48 to Nothing
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "sum(all,dir,dbl(%0))" to h
		Set ComSelectableItem of hoItems1 h to False
		Set ComSortableItem of hoItems1 h to False
		Set ComItemBackColor of hoItems1 h to (RGB(240,240,240))
		Set ComCellData of hoItems1 h 0 to "total"
		Set ComCellValueFormat of hoItems1 h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems1 h 0 to "'Total: <b><fgcolor=0000FF>'+(value format ``)"
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
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)

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%0 >= 0" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
			Set ComForeColor of hoConditionalFormat to (RGB(255,0,0))
			Set ComApplyTo of hoConditionalFormat to OLEexFormatToColumns
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComNumeric of hoEditor to OLEexInteger
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
			Set ComSortType of hoColumn to OLESortNumeric
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Total" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexBottom to 1
		Variant h
		Get ComLockedItem of hoItems OLEexBottom 0 to h
		Set ComItemDivider of hoItems h to 1
		Set ComItemDividerLine of hoItems h to OLEEmptyLine
		Set ComItemBackColor of hoItems h to (RGB(240,240,240))
		Set ComCellValue of hoItems h 1 to "sum(all,dir,dbl(%0))"
		Set ComCellValueFormat of hoItems h 1 to (OLEexTotalField + OLEexHTML)
		Set ComCellHAlignment of hoItems h 1 to OLERightAlignment
		Set ComFormatCell of hoItems h 1 to "'Total: <b><fgcolor=0000FF>'+(value format ``)"
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 100 to Nothing
		Get ComAddItem of hoItems1 -25 to Nothing
		Get ComAddItem of hoItems1 31 to Nothing
		Get ComAddItem of hoItems1 -48 to Nothing
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1114
ADODB Requery sample

// Occurs when user clicks on the cell's button.
Procedure OnComButtonClick HITEM   llItem Integer   llColIndex Variant   llKey
	Forward Send OnComButtonClick llItem llColIndex llKey
	Variant cmd
	Get Comcreateobject "ADODB.Command" to cmd
		Variant v
			Variant voRecordset
			Get ComDataSource to voRecordset
			Handle hoRecordset
			Get Create (RefClass(cComRecordset)) to hoRecordset
			Set pvComObject of hoRecordset to voRecordset
				Get ComActiveConnection of hoRecordset to v
			Send Destroy to hoRecordset
		Set ComActiveConnection to v
		Set ComCommandText to "INSERT INTO Orders (EmployeeID) VALUES(12345)"
		Set ComCommandType to OLEadCmdText
		Get ComExecute Nothing Nothing Nothing to Nothing
	Variant voRecordset1
	Get ComDataSource to voRecordset1
	Handle hoRecordset1
	Get Create (RefClass(cComRecordset)) to hoRecordset1
	Set pvComObject of hoRecordset1 to voRecordset1
		Send ComRequery of hoRecordset1 Nothing
	Send Destroy to hoRecordset1
End_Procedure

// Fired when an internal error occurs.
Procedure OnComError Integer   llError String   llDescription
	Forward Send OnComError llError llDescription
	Showln llDescription
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Select * From Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenKeyset OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%1=12345" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to (RGB(240,240,240))
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems OLEexTop 0 to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellHasButton of hoItems h 0 to True
		Set ComCellValue of hoItems h 0 to "Requery (add a new record, using ADODB.Command)"
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1113
I am using DetectAddNew property, but no new items is added when AddNew is performed

// Occurs when user clicks on the cell's button.
Procedure OnComButtonClick HITEM   llItem Integer   llColIndex Variant   llKey
	Forward Send OnComButtonClick llItem llColIndex llKey
	Variant voRecordset
	Get ComDataSource to voRecordset
	Handle hoRecordset
	Get Create (RefClass(cComRecordset)) to hoRecordset
	Set pvComObject of hoRecordset to voRecordset
		Send ComAddNew of hoRecordset "EmployeeID" 123
		Send ComUpdate of hoRecordset Nothing Nothing
	Send Destroy to hoRecordset
End_Procedure

// Fired when an internal error occurs.
Procedure OnComError Integer   llError String   llDescription
	Forward Send OnComError llError llDescription
	Showln llDescription
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderAppearance to OLEEtched
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenKeyset OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems OLEexTop 0 to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellHasButton of hoItems h 0 to True
		Set ComCellValue of hoItems h 0 to "AddNew"
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
	Send Destroy to hoItems
	Set ComDetectAddNew to True
	Set ComDetectDelete to True
	Send ComEndUpdate
End_Procedure
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

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxPF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgpDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAMR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=" to Nothing
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBaEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAqBYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeEmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==" to Nothing
	Send Destroy to hoAppearance
	Set ComBackColorHeader to |CI$1000000
	Set ComForeColorHeader to (RGB(128,128,128))
	Set ComBackground OLEexHeaderFilterBarButton to |CI$2000000
	Set ComBackground OLEexBackColorFilter to (RGB(255,255,255))
	Set ComBackground OLEexForeColorFilter to (RGB(0,0,1))
	Set ComBackground OLEexSelBackColorFilter to |CI$1ff8000
	Set ComBackground OLEexSelForeColorFilter to (RGB(240,240,240))
	Set ComBackground OLEexCursorHoverColumn to -1
	Set ComHeaderHeight to 24
	Set ComBackColorLevelHeader to (ComBackColor(Self))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Filter" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc)
			Set ComDef of hoColumn OLEexHeaderPaddingLeft to 2
			Set ComDef of hoColumn OLEexHeaderPaddingRight to 2
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "A" to Nothing
		Get ComAddItem of hoItems "B" to Nothing
		Get ComAddItem of hoItems "C" to Nothing
		Get ComAddItem of hoItems "D" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1111
How can I change the font for entire column (method 3)

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant v
			Variant voColumns
			Get ComColumns to voColumns
			Handle hoColumns
			Get Create (RefClass(cComColumns)) to hoColumns
			Set pvComObject of hoColumns to voColumns
				Variant voColumn
				Get ComItem of hoColumns 1 to voColumn
				Handle hoColumn
				Get Create (RefClass(cComColumn)) to hoColumn
				Set pvComObject of hoColumn to voColumn
					Variant voColumn1
					Get ComItem of hoColumn 1 to voColumn1
					Handle hoColumn1
					Get Create (RefClass(cComColumn)) to hoColumn1
					Set pvComObject of hoColumn1 to voColumn1
						Get ComData of hoColumn1 to v
					Send Destroy to hoColumn1
				Send Destroy to hoColumn
			Send Destroy to hoColumns
		Set ComCellFont of hoItems llItem 1 to v
		Set ComCellBold of hoItems llItem 1 to True
		Set ComCellForeColor of hoItems llItem 1 to (RGB(255,0,0))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderHeight to 24
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C1" to Nothing
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "C2" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComHTMLCaption of hoColumn2 to "<b><font Tahoma;14>C2"
			Variant f
			Get Comcreateobject of hoColumn2 "StdFont" to f
				Set ComName of hoColumn2 to "Tahoma"
				Set ComSize of hoColumn2 to 11
			Send Destroy to hoColumn2
			Set ComData of hoColumns2 to f
		Send Destroy to hoColumns2
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,10)) 1 to 11
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,12)) 1 to 13
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1110
How can I change the font for entire column (method 2)

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant f
		Get Comcreateobject of hoItems "StdFont" to f
			Set ComName of hoItems to "Tahoma"
			Set ComSize of hoItems to 11
		Send Destroy to hoItems
		Set ComCellFont llItem 1 to f
		Set ComCellBold llItem 1 to True
		Set ComCellForeColor llItem 1 to (RGB(255,0,0))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHeaderHeight to 24
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComAdd of hoColumns1 "C2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHTMLCaption of hoColumn to "<b><font Tahoma;14>C2"
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,10)) 1 to 11
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,12)) 1 to 13
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1109
How can I change the font for entire column (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
			Set ComForeColor of hoConditionalFormat to (RGB(255,0,0))
			Variant f
			Get Comcreateobject of hoConditionalFormat "StdFont" to f
				Set ComName of hoConditionalFormat to "Tahoma"
				Set ComSize of hoConditionalFormat to 11
			Send Destroy to hoConditionalFormat
			Set ComFont of hoConditionalFormats to f
			Set ComApplyTo of hoConditionalFormats to |CI$1
		Send Destroy to hoConditionalFormats
	Set ComHeaderHeight to 24
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComAdd of hoColumns1 "C2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHTMLCaption of hoColumn to "<b><font Tahoma;14>C2"
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,10)) 1 to 11
		Set ComCellValue of hoItems (ComAddItem(hoItems,12)) 1 to 13
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1108
I am using ExComboBox as an user editor, how can I display a different column

// Fired the user editor is about to be opened.
Procedure OnComUserEditorClose Variant   llObject HITEM   llItem Integer   llColIndex
	Forward Send OnComUserEditorClose llObject llItem llColIndex
	// Items.CellValue(Item,ColIndex) = Object.Select("OrderID")
End_Procedure

// Occurs when an user editor fires an event.
Procedure OnComUserEditorOleEvent Variant   llObject Variant   llEv Boolean   llCloseEditor HITEM   llItem Integer   llColIndex
	Forward Send OnComUserEditorOleEvent llObject llEv llCloseEditor llItem llColIndex
	Showln llEv
End_Procedure

// Occurs when an user editor is about to be opened.
Procedure OnComUserEditorOpen Variant   llObject HITEM   llItem Integer   llColIndex
	Forward Send OnComUserEditorOpen llObject llItem llColIndex
	// Object.Select("OrderID") = Me.Items.CellValue(Item,ColIndex)
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSortOnClick to OLEexNoSort
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Exontrol.ComboBox" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEUserEditorType
				Send ComUserEditor of hoEditor "Exontrol.ComboBox" ""
Get ComUserEditorObject of hoEditor to Nothing				Send Destroy to hoEditor
			Send Destroy to hoColumn
		Send Destroy to hoColumns
	Set ComDrawGridLines to OLEexRowLines
	Set ComTreeColumnIndex to -1
	Set ComDefaultItemHeight to 21
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "shows always the drop-down editor" to h
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
		Set ComItemDivider of hoItems h to 0
		Set ComItemDividerLineAlignment of hoItems h to OLEDividerCenter
		Set ComSelectableItem of hoItems h to False
		Set ComEnableItem of hoItems h to False
		Set ComCellEditorVisible of hoItems (ComAddItem(hoItems,10248)) 0 to OLEexEditorVisible
		Set ComCellEditorVisible of hoItems (ComAddItem(hoItems,10249)) 0 to OLEexEditorVisible
		Set ComCellEditorVisible of hoItems (ComAddItem(hoItems,10250)) 0 to OLEexEditorVisible
		Get ComAddItem of hoItems "shows the drop-down editor when user clicks it" to h
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
		Set ComItemDivider of hoItems h to 0
		Set ComItemDividerLineAlignment of hoItems h to OLEDividerCenter
		Set ComSelectableItem of hoItems h to False
		Set ComEnableItem of hoItems h to False
		Get ComAddItem of hoItems 10248 to Nothing
		Get ComAddItem of hoItems 10249 to Nothing
		Get ComAddItem of hoItems 10250 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1107
The ItemHeight property is not working (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellSingleLine of hoItems (ComAddItem(hoItems,"This is a bit of text that should break the line")) 0 to OLEexCaptionWordWrap
		Variant h
		Get ComAddItem of hoItems "" to h
		Set ComItemDivider of hoItems h to 0
		Set ComSelectableItem of hoItems h to False
		Set ComItemDividerLineAlignment of hoItems h to OLEDividerCenter
		Set ComItemHeight of hoItems h to 3
		Set ComCellSingleLine of hoItems (ComAddItem(hoItems,"This is a bit of text that should break the line")) 0 to OLEexCaptionWordWrap
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1106
The ItemHeight property is not working (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 128
			Set ComDef of hoColumn OLEexCellSingleLine to 0
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "This is a bit of text that should break the line" to Nothing
		Variant h
		Get ComAddItem of hoItems "" to h
		Set ComItemDivider of hoItems h to 0
		Set ComSelectableItem of hoItems h to False
		Set ComItemDividerLineAlignment of hoItems h to OLEDividerCenter
		Set ComItemMinHeight of hoItems h to 3
		Set ComItemMaxHeight of hoItems h to 3
		Get ComAddItem of hoItems "This is a bit of text that should break the line" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
1105
How do I add a total field locked at the bottom of the control

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDividerLine of hoItems llItem to OLEEmptyLine
		Set ComFormatCell of hoItems llItem (ComGroupItem(hoItems,llItem)) to "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"
		Set ComCellValue of hoItems llItem "Min" to "min(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Min" to OLEexTotalField
		Set ComCellValue of hoItems llItem "Max" to "max(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Max" to OLEexTotalField
		Set ComCellValue of hoItems llItem "Sum" to "sum(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Sum" to OLEexTotalField
		Set ComItemBackColor of hoItems llItem to (RGB(240,240,240))
	Send Destroy to hoItems
End_Procedure

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHasLines to OLEexNoLine
	Set ComDescription OLEexColumnsFloatBar to "Show/Hide"
	Set ComColumnsFloatBarSortOrder to OLESortAscending
	Set ComColumnsFloatBarVisible to OLEexColumnsFloatBarVisibleIncludeCheckColumns
	Set ComColumnAutoResize to False
	Set ComBackColorSortBar to (RGB(240,240,240))
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Min" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
			Set ComAllowDragging of hoColumn to False
		Send Destroy to hoColumn
		Variant var_Column
		Get ComAdd of hoColumns "Max" to var_Column
			Set ComVisible of hoColumns to False
			Set ComVisible of hoColumns to False
			Set ComAllowDragging of hoColumns to False
		Send Destroy to hoColumns
		Variant var_Column1
		Get ComAdd "Sum" to var_Column1
			Set ComVisible to False
			Set ComVisible to False
			Set ComAllowDragging to False
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 "Freight" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "currency(value)"
			Set ComDef of hoColumn1 OLEexCellBackColor to 12895487
			Set ComDef of hoColumn1 OLEexHeaderBackColor to (ComDef(hoColumn1,OLEexCellBackColor))
			Set ComHeaderBold of hoColumn1 to True
			Set ComAllowGroupBy of hoColumn1 to False
			Set ComAlignment of hoColumn1 to OLERightAlignment
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComScrollBySingleLine to False
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComLockedItemCount of hoItems1 OLEexBottom to 2
		Variant hL
		Get ComLockedItem of hoItems1 OLEexBottom 0 to hL
		Set ComItemDivider of hoItems1 hL to 0
		Set ComItemHeight of hoItems1 hL to 3
		Set ComItemDividerLineAlignment of hoItems1 hL to OLEDividerTop
		Set ComItemDividerLine of hoItems1 hL to OLEDoubleLine
		Get ComLockedItem of hoItems1 OLEexBottom 1 to hL
		Set ComCellValue of hoItems1 hL 6 to "sum(all,rec,dbl(%6))"
		Set ComCellValueFormat of hoItems1 hL 6 to OLEexTotalField
		Set ComItemHeight of hoItems1 hL to 24
		Set ComItemBold of hoItems1 hL to True
	Send Destroy to hoItems1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 "EmployeeID" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComSortOrder of hoColumn2 to True
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Send ComEndUpdate
End_Procedure
1104
How can I add a total field, when I use grouping

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDividerLine of hoItems llItem to OLEEmptyLine
		Set ComFormatCell of hoItems llItem (ComGroupItem(hoItems,llItem)) to "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"
		Set ComCellValue of hoItems llItem "Min" to "min(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Min" to OLEexTotalField
		Set ComCellValue of hoItems llItem "Max" to "max(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Max" to OLEexTotalField
		Set ComCellValue of hoItems llItem "Sum" to "sum(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Sum" to OLEexTotalField
		Set ComItemBackColor of hoItems llItem to (RGB(240,240,240))
	Send Destroy to hoItems
End_Procedure

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHasLines to OLEexNoLine
	Set ComColumnAutoResize to False
	Set ComBackColorSortBar to (RGB(240,240,240))
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Min" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns1 "Max" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComVisible of hoColumn2 to False
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns1 "Sum" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComVisible of hoColumn3 to False
		Send Destroy to hoColumn3
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn4
		Get ComItem of hoColumns2 "Freight" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComDef of hoColumn4 OLEexCellBackColor to 12895487
			Set ComDef of hoColumn4 OLEexHeaderBackColor to (ComDef(hoColumn4,OLEexCellBackColor))
			Set ComHeaderBold of hoColumn4 to True
			Set ComAllowGroupBy of hoColumn4 to False
		Send Destroy to hoColumn4
	Send Destroy to hoColumns2
	Set ComScrollBySingleLine to False
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComLockedItemCount of hoItems1 OLEexBottom to 1
		Variant hL
		Get ComLockedItem of hoItems1 OLEexBottom 0 to hL
		Set ComItemDivider of hoItems1 hL to 0
		Set ComItemHeight of hoItems1 hL to 24
		Set ComItemDividerLineAlignment of hoItems1 hL to OLEDividerTop
		Set ComItemDividerLine of hoItems1 hL to OLEDoubleLine
		Set ComCellValue of hoItems1 hL 0 to "sum(all,rec,dbl(%6))"
		Set ComCellValueFormat of hoItems1 hL 0 to (OLEexTotalField + OLEexHTML)
		Set ComCellHAlignment of hoItems1 hL 0 to OLERightAlignment
		Set ComFormatCell of hoItems1 hL 0 to "'Freight: <bgcolor=FFC4C4> '+(value format ``) + ` `"
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
1103
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "City" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Start" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "End" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Set ComDescription OLEexColumnsFloatBar to "Show/Hide"
	Set ComColumnsFloatBarSortOrder to OLESortAscending
	Set ComColumnsFloatBarVisible to OLEexColumnsFloatBarVisibleIncludeCheckColumns
	Send ComEndUpdate
End_Procedure
1102
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "City" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Start" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "End" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Set ComDescription OLEexColumnsFloatBar to "Show"
	Set ComColumnsFloatBarVisible to OLEexColumnsFloatBarVisibleIncludeHiddenColumns
	Set ComColumnsFloatBarSortOrder to OLESortAscending
	Send ComEndUpdate
End_Procedure
1101
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComHeaderAppearance to OLEEtched
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "City" to Nothing
		Get ComAdd of hoColumns "Start" to Nothing
		Get ComAdd of hoColumns "End" to Nothing
	Send Destroy to hoColumns
	Set ComAllowGroupBy to True
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComBackColorSortBar to (RGB(250,250,250))
	Set ComDescription OLEexColumnsFloatBar to "Group-By"
	Set ComColumnsFloatBarVisible to OLEexColumnsFloatBarVisibleIncludeGroupByColumns
	Set ComColumnsFloatBarSortOrder to OLESortAscending
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComItem of hoColumns1 "City" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure