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

METHOD OCX_Exontrol1Click() CLASS MainDialog
	// Click event - Occurs when the user presses and then releases the left mouse button over the grid control.
	oDCOCX_Exontrol1:Layout := "Select=" + CHR(34) + "0" + CHR(34) + ";SingleSort=" + CHR(34) + "C0:2" + CHR(34) + ";Columns=1"
RETURN NIL

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item 1")
	var_Items:AddItem("Item 2")
	var_Items:AddItem("Item 3")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2 as IConditionalFormat
local var_ConditionalFormats as IConditionalFormats
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_ConditionalFormats := oDCOCX_Exontrol1:ConditionalFormats
	var_ConditionalFormat := var_ConditionalFormats:Add("%CT1",nil)
		var_ConditionalFormat:ForeColor := RGB(128,128,128)
		var_ConditionalFormat:ApplyTo := 0x1 | 
	var_ConditionalFormat1 := var_ConditionalFormats:Add("%CT2",nil)
		var_ConditionalFormat1:ForeColor := RGB(128,128,128)
		var_ConditionalFormat1:ApplyTo := 0x2 | 
	var_ConditionalFormat2 := var_ConditionalFormats:Add("%CT3",nil)
		var_ConditionalFormat2:ForeColor := RGB(128,128,128)
		var_ConditionalFormat2:ApplyTo := 0x3 | 
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

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

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:HeaderAppearance := None2
oDCOCX_Exontrol1:FilterBarPromptType := exFilterPromptContainsAll
oDCOCX_Exontrol1:Columns:Add("Names")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Mantel")
	var_Items:AddItem("Mechanik")
	var_Items:AddItem("Motor")
	var_Items:AddItem("Murks")
	var_Items:AddItem("Märchen")
	var_Items:AddItem("Möhren")
	var_Items:AddItem("Mühle")
	var_Items:AddItem("Sérigraphie")
oDCOCX_Exontrol1:FilterBarPromptPattern := "a"
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:HeaderAppearance := None2
oDCOCX_Exontrol1:[Description,exFilterBarAll] := "(todo) "
oDCOCX_Exontrol1:[Description,exFilterBarFilterForCaption] := "filtrar por..."
oDCOCX_Exontrol1:FilterBarPrompt := "<i><fgcolor=808080>iniciar filtro...</fgcolor></i>"
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Names")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterType := exPattern
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Mantel")
	var_Items:AddItem("Mechanik")
	var_Items:AddItem("Motor")
	var_Items:AddItem("Murks")
	var_Items:AddItem("Märchen")
	var_Items:AddItem("Möhren")
	var_Items:AddItem("Mühle")
	var_Items:AddItem("Sérigraphie")
oDCOCX_Exontrol1:EndUpdate()

1214
How can I zoom in the control

local var_Column as IColumn
local var_Items as IItems
local s1,s2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
s1 := 16
s2 := oDCOCX_Exontrol1:FormatABC("2 * value",s1,nil,nil)
oDCOCX_Exontrol1:ImageSize := s2
oDCOCX_Exontrol1:DefaultItemHeight := s2
oDCOCX_Exontrol1:HeaderHeight := s2
oDCOCX_Exontrol1:SortBarHeight := s2
oDCOCX_Exontrol1:Indent := s2
oDCOCX_Exontrol1:Font:Size := s1
oDCOCX_Exontrol1:FilterBarFont:Size := s1
oDCOCX_Exontrol1:ToolTipFont:Size := s1
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:HeaderAppearance := None2
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Names")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterType := exPattern
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Mantel")
	var_Items:AddItem("Mechanik")
	var_Items:AddItem("Motor")
	var_Items:AddItem("Murks")
	var_Items:AddItem("Märchen")
	var_Items:AddItem("Möhren")
	var_Items:AddItem("Mühle")
	var_Items:AddItem("Sérigraphie")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Items")}
	var_Column:DisplayFilterButton := true
	var_Column:DisplayFilterPattern := true
	var_Column:[Def,exFilterPatternTemplate] := "*<%filter%>*"
	var_Column:FilterType := exPattern
	var_Column:Filter := "1"
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

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


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:Columns:Add("Column 1")
oDCOCX_Exontrol1:Columns:Add("Column 2")
oDCOCX_Exontrol1:Columns:Add("Column 3")
oDCOCX_Exontrol1:Columns:Add("Column 4")
oDCOCX_Exontrol1:EndUpdate()

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

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Select * FROM Employees WHERE 1=0","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Columns:[Item,0]:Width := 128
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3,0)
oDCOCX_Exontrol1:PutItems(rs:GetRows(0,nil,nil),";0;17")
oDCOCX_Exontrol1:Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddItem(Item) CLASS MainDialog
	// AddItem event - Occurs after a new Item has been inserted to Items collection.
	oDCOCX_Exontrol1:Items:[CellEditorVisible,Item,0] := exEditorVisible
	oDCOCX_Exontrol1:Items:[CellEditorVisible,Item,1] := exEditorVisible
RETURN NIL

METHOD OCX_Exontrol1EditOpen() CLASS MainDialog
	// EditOpen event - Occurs when the edit operation starts.
	local var_Editor as IEditor
	local var_Items as IItems
	local c,v as USUAL
	var_Items := oDCOCX_Exontrol1:Items
		v := var_Items:[CellValue,var_Items:FocusItem,0]
		c := var_Items:[CellCaption,var_Items:FocusItem,0]
	var_Editor := oDCOCX_Exontrol1:Columns:[Item,1]:Editor
		var_Editor:ClearItems()
		var_Editor:AddItem(v,AsString(c),nil)
RETURN NIL

local var_Column as IColumn
local var_Editor as IEditor
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("DropDownList")}
	var_Editor := var_Column:Editor
		var_Editor:EditType := DropDownListType
		var_Editor:AddItem(1,"First",nil)
		var_Editor:AddItem(2,"Second",nil)
		var_Editor:AddItem(3,"Third",nil)
oDCOCX_Exontrol1:DrawGridLines := exAllLines
IColumn{oDCOCX_Exontrol1:Columns:Add("DropDownList-Related")}:Editor:EditType := DropDownListType
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem(1),1] := -1
	var_Items:[CellValue,var_Items:AddItem(2),1] := -1
	var_Items:[CellValue,var_Items:AddItem(3),1] := -1
	var_Items:[LockedItemCount,exBottom] := 1
	h := var_Items:[LockedItem,exBottom,0]
	var_Items:[ItemDivider,h] := 0
	var_Items:[ItemDividerLineAlignment,h] := DividerTop
	var_Items:[CellEditorVisible,h,0] := exEditorHidden
	var_Items:[CellSingleLine,h,0] := exCaptionWordWrap
	var_Items:[CellValueFormat,h,0] := exHTML
	var_Items:[CellValue,h,0] := "The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection on the first column."
oDCOCX_Exontrol1:EndUpdate()

1209
Highlight the editable fields

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2 as IConditionalFormat
local var_ConditionalFormats as IConditionalFormats
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_ConditionalFormats := oDCOCX_Exontrol1:ConditionalFormats
	var_ConditionalFormat := var_ConditionalFormats:Add("%CE1",nil)
		var_ConditionalFormat:Bold := true
		var_ConditionalFormat:BackColor := RGB(245,245,245)
		var_ConditionalFormat:ApplyTo := 0x1 | 
	var_ConditionalFormat1 := var_ConditionalFormats:Add("%CE2",nil)
		var_ConditionalFormat1:Bold := true
		var_ConditionalFormat1:BackColor := RGB(245,245,245)
		var_ConditionalFormat1:ApplyTo := 0x2 | 
	var_ConditionalFormat2 := var_ConditionalFormats:Add("%CE3",nil)
		var_ConditionalFormat2:Bold := true
		var_ConditionalFormat2:BackColor := RGB(245,245,245)
		var_ConditionalFormat2:ApplyTo := 0x3 | 
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

1208
Highlight the total fields

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2 as IConditionalFormat
local var_ConditionalFormats as IConditionalFormats
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_ConditionalFormats := oDCOCX_Exontrol1:ConditionalFormats
	var_ConditionalFormat := var_ConditionalFormats:Add("%CT1",nil)
		var_ConditionalFormat:ForeColor := RGB(128,128,128)
		var_ConditionalFormat:ApplyTo := 0x1 | 
	var_ConditionalFormat1 := var_ConditionalFormats:Add("%CT2",nil)
		var_ConditionalFormat1:ForeColor := RGB(128,128,128)
		var_ConditionalFormat1:ApplyTo := 0x2 | 
	var_ConditionalFormat2 := var_ConditionalFormats:Add("%CT3",nil)
		var_ConditionalFormat2:ForeColor := RGB(128,128,128)
		var_ConditionalFormat2:ApplyTo := 0x3 | 
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

1207
Highlight the leaf items

local var_Columns as IColumns
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ConditionalFormats:Add("%CC0=0",nil):ForeColor := RGB(128,128,128)
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Item")}:Width := 16
	var_Columns:Add("Desc")
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[CellValue,hR,1] := "The root directory /"
	var_Items:[ExpandItem,hR] := true
	h := var_Items:InsertItem(hR,nil,"Home")
	var_Items:[CellValue,h,1] := "The home directory with user directories Alice and Bob"
	var_Items:InsertItem(h,nil,"Alice")
	var_Items:InsertItem(h,nil,"Bob")
	var_Items:[ExpandItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Etc")
	var_Items:[CellValue,h,1] := "The etc directory with one configuration file"
	h := var_Items:InsertItem(h,nil,"nginx.conf")
	var_Items:[CellValue,var_Items:InsertItem(hR,nil,"Var"),1] := "The var directory"
oDCOCX_Exontrol1:EndUpdate()

1206
Highlight the parent items

local var_Columns as IColumns
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ConditionalFormats:Add("%CC0",nil):ForeColor := RGB(255,0,0)
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Item")}:Width := 16
	var_Columns:Add("Desc")
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[CellValue,hR,1] := "The root directory /"
	var_Items:[ExpandItem,hR] := true
	h := var_Items:InsertItem(hR,nil,"Home")
	var_Items:[CellValue,h,1] := "The home directory with user directories Alice and Bob"
	var_Items:InsertItem(h,nil,"Alice")
	var_Items:InsertItem(h,nil,"Bob")
	var_Items:[ExpandItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Etc")
	var_Items:[CellValue,h,1] := "The etc directory with one configuration file"
	h := var_Items:InsertItem(h,nil,"nginx.conf")
	var_Items:[CellValue,var_Items:InsertItem(hR,nil,"Var"),1] := "The var directory"
oDCOCX_Exontrol1:EndUpdate()

1205
Highlight the item being expanded or collapsed

local var_Columns as IColumns
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ConditionalFormats:Add("%CX0",nil):Bold := true
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Item")}:Width := 16
	var_Columns:Add("Desc")
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[CellValue,hR,1] := "The root directory /"
	var_Items:[ExpandItem,hR] := true
	h := var_Items:InsertItem(hR,nil,"Home")
	var_Items:[CellValue,h,1] := "The home directory with user directories Alice and Bob"
	var_Items:InsertItem(h,nil,"Alice")
	var_Items:InsertItem(h,nil,"Bob")
	var_Items:[ExpandItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Etc")
	var_Items:[CellValue,h,1] := "The etc directory with one configuration file"
	h := var_Items:InsertItem(h,nil,"nginx.conf")
	var_Items:[CellValue,var_Items:InsertItem(hR,nil,"Var"),1] := "The var directory"
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	var_Items:[FormatCell,g1,2] := "`<average missing>`"
	var_Items:[CellEditorVisible,g1,2] := exEditorHidden
	var_Items:[CellBold,g1,2] := true
	var_Items:[CellForeColor,g1,2] := RGB(255,0,0)
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

1203
How can I add a total column

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

1202
Is it possible to disable sizing(size) the column
local var_Column as IColumn

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exVLines
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("32px")}
	var_Column:Width := 32
	var_Column:AllowSizing := false
oDCOCX_Exontrol1:Columns:Add("Rest")
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:EndUpdate()

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


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exVLines
IColumn{oDCOCX_Exontrol1:Columns:Add("25%")}:Width := 25
IColumn{oDCOCX_Exontrol1:Columns:Add("25%")}:Width := 25
IColumn{oDCOCX_Exontrol1:Columns:Add("50%")}:Width := 50
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:EndUpdate()

1200
I add two columns but I see a third column


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:Columns:Add("C1")
oDCOCX_Exontrol1:Columns:Add("C2")
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:EndUpdate()

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

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:Columns:Add("C1")
oDCOCX_Exontrol1:Columns:Add("C2")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem("Emily"),1] := "William"
	var_Items:[CellValue,var_Items:AddItem("Sophia"),1] := "Alexander"
oDCOCX_Exontrol1:PutItems(oDCOCX_Exontrol1:GetItems(""),oDCOCX_Exontrol1:Items:[ItemByIndex,0])
oDCOCX_Exontrol1:PutItems(oDCOCX_Exontrol1:GetItems(""),oDCOCX_Exontrol1:Items:[ItemByIndex,1])
oDCOCX_Exontrol1:PutItems(oDCOCX_Exontrol1:GetItems(""),oDCOCX_Exontrol1:Items:[ItemByIndex,6])
oDCOCX_Exontrol1:Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()

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


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exVLines
IColumn{oDCOCX_Exontrol1:Columns:Add("C1")}:Width := 32
IColumn{oDCOCX_Exontrol1:Columns:Add("C2")}:Width := 132
IColumn{oDCOCX_Exontrol1:Columns:Add("C3")}:Width := 264
oDCOCX_Exontrol1:EndUpdate()

1197
I want to display this computed value in a TextBox outside the grid and get it updated with any change of its value. How can this be done
METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	local var_Items as IItems
	oDCOCX_Exontrol1:Refresh()
	var_Items := oDCOCX_Exontrol1:Items
		OutputDebugString(String2Psz( "Total: " ))
		OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:[LockedItem,exTop,0],0] ))
RETURN NIL

local var_Column as IColumn
local var_Editor as IEditor
local var_Items,var_Items1 as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Numbers")}
	var_Editor := var_Column:Editor
		var_Editor:Numeric := exInteger
		var_Editor:EditType := SpinType
	var_Column:SortType := SortNumeric
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exTop] := 1
	h := var_Items:[LockedItem,exTop,0]
	var_Items:[ItemBackColor,h] := RGB(240,240,240)
	var_Items:[CellValue,h,0] := "sum(all,dir,dbl(%0))"
	var_Items:[CellValueFormat,h,0] := exTotalField
	var_Items:[CellHAlignment,h,0] := RightAlignment
	var_Items:[FormatCell,h,0] := "'Total: '+value"
var_Items1 := oDCOCX_Exontrol1:Items
	var_Items1:AddItem(10)
	var_Items1:AddItem(25)
	var_Items1:AddItem(31)
	var_Items1:AddItem(48)
oDCOCX_Exontrol1:EndUpdate()

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


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:SortBarCaption := "<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)"
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:HeaderEnabled := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
IColumn{oDCOCX_Exontrol1:Columns:Add("Index")}:FormatColumn := "1 index ``"
IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}:FormatColumn := "1 apos ``"
IColumn{oDCOCX_Exontrol1:Columns:Add("Edit")}:Editor:EditType := EditType
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:GridLineColor := RGB(224,224,224)
oDCOCX_Exontrol1:EndUpdate()

1195
I wonder if it’s possible to highlight/select a column like Excel
METHOD OCX_Exontrol1ColumnClick(Column) CLASS MainDialog
	// ColumnClick event - Fired after the user clicks on column's header.
	// Column.Selected = True
	// FocusColumnIndex = Column.Index
	oDCOCX_Exontrol1:Columns:[Item,0]:Selected := false
	oDCOCX_Exontrol1:Columns:[Item,1]:Selected := false
	oDCOCX_Exontrol1:Columns:[Item,2]:Selected := false
	oDCOCX_Exontrol1:Items:SelectAll()
RETURN NIL

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:MarkSearchColumn := false
oDCOCX_Exontrol1:SingleSel := false
oDCOCX_Exontrol1:FullRowSelect := exRectSel
oDCOCX_Exontrol1:SortOnClick := exNoSort
oDCOCX_Exontrol1:Columns:Add("Column1")
oDCOCX_Exontrol1:Columns:Add("Column2")
oDCOCX_Exontrol1:Columns:Add("Column3")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:DefaultItem := var_Items:AddItem(0)
	var_Items:[CellValue,0,1] := 1
	var_Items:[CellValue,0,2] := 2
	var_Items:DefaultItem := var_Items:AddItem(3)
	var_Items:[CellValue,0,1] := 4
	var_Items:[CellValue,0,2] := 5
	var_Items:DefaultItem := var_Items:AddItem(6)
	var_Items:[CellValue,0,1] := 7
	var_Items:[CellValue,0,2] := 8
oDCOCX_Exontrol1:EndUpdate()

1194
Is it possible to change the color of the border

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABc8IQAAYAQGKIcBiAKBQAGaAoDDMMwyQwAAxDMK8EwsACEIrjKCRShyCYZRhGcTALBIBQSHAZZKgOJIRDENg2SANACRfIUaw1DqBZwkGZoWhGKgAShIEDwSKkQBlECeJpnKaqIomJYnDLQUw0NL9HQ3JaaKqnWLBVCWEQyVzEIyjBT0EzHMqtKrjaA6NpaP4oT7LEIydKFCRJNi0bSnGqaOj6UJSURRVq3TTFcTyAC3ahuOo4cpXB4SWrOd41fYNOTQACzbCsSIcPxCe6GXjiNwjPKMWhnIq+M5wXIrJyKCYUaTcejzfgdU5XWqeMoyewMXxmZqbXw/fBYRrEL5vTqNXTzSA4BEB")
oDCOCX_Exontrol1:Appearance := 0x100ff00 | 
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:TreeColumnIndex := -1
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("before item")
	var_Items:AddItem("item")
	var_Items:AddItem("after item")
oDCOCX_Exontrol1:EndUpdate()

1193
Expandable-caption

METHOD OCX_Exontrol1AnchorClick(AnchorID,Options) CLASS MainDialog
	// AnchorClick event - Occurs when an anchor element is clicked.
	OutputDebugString(String2Psz( AsString(AnchorID) ))
RETURN NIL

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:TreeColumnIndex := -1
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:BackColorAlternate := RGB(240,240,240)
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("before item")
	h := var_Items:AddItem("<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4AjMGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEBA==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DABvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>▲</a><br>+ withdraw(amount: Currency)")
	var_Items:[CellValueFormat,h,0] := exHTML
	var_Items:[CellSingleLine,h,0] := exCaptionWordWrap
	var_Items:AddItem("after item")
oDCOCX_Exontrol1:EndUpdate()

1192
Expandable-caption

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:TreeColumnIndex := -1
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:BackColorAlternate := RGB(240,240,240)
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("before item")
	h := var_Items:AddItem("<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3")
	var_Items:[CellValueFormat,h,0] := exHTML
	var_Items:[CellSingleLine,h,0] := exCaptionWordWrap
	var_Items:AddItem("after item")
oDCOCX_Exontrol1:EndUpdate()

1191
Force hover-all feature

oDCOCX_Exontrol1:[Background,exScrollHoverAll] := -1

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

oDCOCX_Exontrol1:[Background,exScrollHoverAll] := RGB(1,0,0)

1189
Display a custom tooltip
METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	oDCOCX_Exontrol1:ShowToolTip("new content","",nil,"+8","+8")
RETURN NIL



1188
Shows the tooltip of the object moved relative to its default position
METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	oDCOCX_Exontrol1:ShowToolTip("<null>","<null>",nil,"+8","+8")
RETURN NIL


oDCOCX_Exontrol1:ColumnAutoResize := false
IColumn{oDCOCX_Exontrol1:Columns:Add("tootip")}:ToolTip := "this is a tooltip assigned to a column"

1187
Delete all records
METHOD OCX_Exontrol1ButtonClick(Item,ColIndex,Key) CLASS MainDialog
	// ButtonClick event - Occurs when user clicks on the cell's button.
	local cmd as _Command
	// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
	cmd := _Command{"ADODB.Command"}
		cmd:ActiveConnection := _Connection{oDCOCX_Exontrol1_Recordset{:DataSource}:ActiveConnection}
		cmd:CommandText := "Delete * from ORDERS"
		cmd:CommandType := 1
		cmd:Execute(nil,nil,0)
	_Recordset{oDCOCX_Exontrol1:DataSource}:Requery(0)
RETURN NIL

METHOD OCX_Exontrol1Error(Error,Description) CLASS MainDialog
	// Error event - Fired when an internal error occurs.
	OutputDebugString(String2Psz( AsString(Description) ))
RETURN NIL

local var_Items as IItems
local h as USUAL
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:ColumnAutoResize := false
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",1,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:ConditionalFormats:Add("%1=12345",nil):BackColor := RGB(240,240,240)
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exTop] := 1
	h := var_Items:[LockedItem,exTop,0]
	var_Items:[ItemDivider,h] := 0
	var_Items:[CellHasButton,h,0] := true
	var_Items:[CellValue,h,0] := "Requery (delete all records, using ADODB.Command)"
	var_Items:[CellHAlignment,h,0] := CenterAlignment
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Editor as IEditor
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Minutes")}
	var_Column:SortType := SortNumeric
	var_Editor := var_Column:Editor
		var_Editor:EditType := EditType
		var_Editor:Numeric := exInteger
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(10)
	var_Items:AddItem(20)
	var_Items:AddItem(30)
	var_Items:AddItem(40)
	var_Items:AddItem(50)
	h := var_Items:AddItem("sum(all,dir,dbl(%0))")
	var_Items:[SelectableItem,h] := false
	var_Items:[SortableItem,h] := false
	var_Items:[CellValueFormat,h,0] := exTotalField | exHTML
	var_Items:[CellHAlignment,h,0] := RightAlignment
	var_Items:[FormatCell,h,0] := "'<b>HH:NN</b>: '+ (int(value/60) lpad '00') + ':' + ((value mod 60) lpad '00')"
oDCOCX_Exontrol1:EndUpdate()

1185
Highlight the match once the filter is applied

METHOD OCX_Exontrol1FilterChange() CLASS MainDialog
	// FilterChange event - Occurs when filter was changed.
	local format as USUAL
	format := oDCOCX_Exontrol1:FormatABC("`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",oDCOCX_Exontrol1:FilterBarPromptPattern,nil,nil)
	oDCOCX_Exontrol1:Columns:[Item,0]:FormatColumn := AsString(format)
	oDCOCX_Exontrol1:Columns:[Item,1]:FormatColumn := AsString(format)
	oDCOCX_Exontrol1:Columns:[Item,2]:FormatColumn := AsString(format)
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local h0 as USUAL

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

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

local var_Items as IItems

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

1183
Is it possible to display the count of filtered items

local var_Items as IItems

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

1182
GroupBy code

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ContinueColumnScroll := false
oDCOCX_Exontrol1:CountLockedColumns := 1
oDCOCX_Exontrol1:BackColorLock := RGB(248,248,248)
oDCOCX_Exontrol1:HasLines := exSolidLine
oDCOCX_Exontrol1:LinesAtRoot := exGroupLinesOutside
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:SingleSort := false
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:Columns:[Item,0]:Width := 128
oDCOCX_Exontrol1:Layout := "MultipleSort = " + CHR(34) + "C12:1 C1:2" + CHR(34) + ""
oDCOCX_Exontrol1:EndUpdate()

1181
ADOR, MDB (JET)
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:EndUpdate()

1180
Editors (ImageSize = 32)

local var_Appearance as IAppearance
local var_Editor,var_Editor1,var_Editor10,var_Editor11,var_Editor12,var_Editor2,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Editor9 as IEditor
local var_Items as IItems
local h,var_Object as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ImageSize := 32
oDCOCX_Exontrol1:DefaultItemHeight := 36
oDCOCX_Exontrol1:HeaderHeight := oDCOCX_Exontrol1:DefaultItemHeight
oDCOCX_Exontrol1:SortBarHeight := oDCOCX_Exontrol1:DefaultItemHeight
oDCOCX_Exontrol1:Font:Size := 16
oDCOCX_Exontrol1:FilterBarFont:Size := oDCOCX_Exontrol1:Font:Size
oDCOCX_Exontrol1:ToolTipFont:Size := oDCOCX_Exontrol1:Font:Size
oDCOCX_Exontrol1:Indent := 26
oDCOCX_Exontrol1:Images("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")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDRDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
	var_Appearance:Add(3,"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")
	var_Appearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oDCOCX_Exontrol1:BackColorHeader := 0x4c6c6c6
oDCOCX_Exontrol1:SelBackColor := 0x4000000
oDCOCX_Exontrol1:SelForeColor := RGB(0,0,1)
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:[CheckImage,Unchecked] := 16777216
oDCOCX_Exontrol1:[CheckImage,Checked] := 33554432
oDCOCX_Exontrol1:[CheckImage,PartialChecked] := 50331648
IColumn{oDCOCX_Exontrol1:Columns:Add("Editors")}:[Def,exCellValueFormat] := 1
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellEditor,var_Items:AddItem("(ReadOnly)"),0]:EditType := ReadOnly
	var_Items:[CellEditor,var_Items:AddItem("(EditType)"),0]:EditType := EditType
	h := var_Items:AddItem("Value 1")
	var_Editor := var_Items:[CellEditor,h,0]
		var_Editor:EditType := DropDownType
		var_Editor:AddItem(1,"Value 1",1)
		var_Editor:AddItem(2,"Value 2",2)
		var_Editor:AddItem(3,"Value 3",3)
	var_Items:[FormatCell,h,0] := "value + ' (DropDownType)'"
	h := var_Items:AddItem(1)
	var_Editor1 := var_Items:[CellEditor,h,0]
		var_Editor1:EditType := DropDownListType
		var_Editor1:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor1:AddItem(1,"Nancy Davolio",1)
		var_Editor1:AddItem(2,"Andrew Fuller",2)
		var_Editor1:AddItem(3,"Janet Leverling",3)
		var_Editor1:AddItem(4,"Peacock Margaret",3)
		var_Editor1:AddItem(5,"Steven Buchanan",2)
		var_Editor1:AddItem(6,"Michael Suyama",1)
		var_Editor1:AddItem(7,"Robert King",2)
		var_Editor1:AddItem(8,"Laura Callahan",3)
		var_Editor1:AddItem(9,"Anne Dodsworth",2)
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - single column list)'"
	h := var_Items:AddItem(1)
	var_Editor2 := var_Items:[CellEditor,h,0]
		var_Editor2:EditType := DropDownListType
		var_Editor2:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor2:AddItem(1,"Nancy Davolio",1)
		var_Editor2:AddItem(2,"Andrew Fuller",2)
		var_Editor2:InsertItem(3,"Janet Leverling",3,2)
		var_Editor2:InsertItem(4,"Peacock Margaret",3,2)
		var_Editor2:InsertItem(5,"Steven Buchanan",2,2)
		var_Editor2:InsertItem(6,"Michael Suyama",1,5)
		var_Editor2:InsertItem(7,"Robert King",2,2)
		var_Editor2:InsertItem(8,"Laura Callahan",3,2)
		var_Editor2:InsertItem(9,"Anne Dodsworth",2,5)
		var_Editor2:ExpandAll()
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - single column tree)'"
	h := var_Items:AddItem(1)
	var_Editor3 := var_Items:[CellEditor,h,0]
		var_Editor3:EditType := DropDownListType
		var_Editor3:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor3:[Option,exDropDownColumnCaption] := "Name¦Title¦City¦Phone"
		var_Editor3:[Option,exDropDownColumnWidth] := "312¦¦¦96"
		var_Editor3:AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor3:AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor3:AddItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3)
		var_Editor3:AddItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3)
		var_Editor3:AddItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2)
		var_Editor3:AddItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1)
		var_Editor3:AddItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2)
		var_Editor3:AddItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3)
		var_Editor3:AddItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2)
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - multiple columns list)'"
	h := var_Items:AddItem(1)
	var_Editor4 := var_Items:[CellEditor,h,0]
		var_Editor4:EditType := DropDownListType
		var_Editor4:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor4:[Option,exDropDownColumnCaption] := "Name¦Title¦City¦Phone"
		var_Editor4:[Option,exDropDownColumnWidth] := "312¦¦¦96"
		var_Editor4:AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor4:AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor4:InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3,2)
		var_Editor4:InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3,2)
		var_Editor4:InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2,2)
		var_Editor4:InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1,5)
		var_Editor4:InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2,2)
		var_Editor4:InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3,2)
		var_Editor4:InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2,5)
		var_Editor4:ExpandAll()
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - multiple columns tree)'"
	h := var_Items:AddItem(100)
	var_Items:[CellEditor,h,0]:EditType := SpinType
	var_Items:[FormatCell,h,0] := "value + ' (SpinType)'"
	var_Items:[CellEditor,var_Items:AddItem("(MemoType)"),0]:EditType := MemoType
	h := var_Items:AddItem(3)
	var_Editor5 := var_Items:[CellEditor,h,0]
		var_Editor5:EditType := CheckListType
		var_Editor5:AddItem(1,"Border",1)
		var_Editor5:AddItem(2,"Single",2)
		var_Editor5:AddItem(4,"Frame",3)
	var_Items:[FormatCell,h,0] := "value + ' (CheckListType)'"
	h := var_Items:AddItem("193.226.40.161")
	var_Editor6 := var_Items:[CellEditor,h,0]
		var_Editor6:Mask := "{0,255}.{0,255}.{0,255}.{0,255}"
		var_Editor6:EditType := MaskType
	var_Items:[FormatCell,h,0] := "value + ' (MaskType)'"
	h := var_Items:AddItem(65280)
	var_Editor7 := var_Items:[CellEditor,h,0]
		var_Editor7:EditType := ColorType
		var_Editor7:Mask := "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0"
	var_Items:[FormatCell,h,0] := "value + ' (ColorType)'"
	h := var_Items:AddItem("Tahoma")
	var_Items:[CellEditor,h,0]:EditType := FontType
	var_Items:[FormatCell,h,0] := "value + ' (FontType)'"
	h := var_Items:AddItem("gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamYyIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAwBUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABGQZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCAAjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFASoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJDQNg/p4AAdoC")
	var_Items:[CellEditor,h,0]:EditType := PictureType
	var_Items:[FormatCell,h,0] := "value + ' (PictureType)'"
	var_Items:[CellEditor,var_Items:AddItem("(ButtonType)"),0]:EditType := ButtonType
	h := var_Items:AddItem(25)
	var_Items:[CellEditor,h,0]:EditType := ProgressBarType
	var_Items:[FormatCell,h,0] := "value + ' (ProgressBarType)'"
	h := var_Items:AddItem("Value 1")
	var_Editor8 := var_Items:[CellEditor,h,0]
		var_Editor8:EditType := PickEditType
		var_Editor8:AddItem(1,"Value 1",1)
		var_Editor8:AddItem(2,"Value 2",2)
		var_Editor8:AddItem(3,"Value 3",3)
	var_Items:[FormatCell,h,0] := "value + ' (PickEditType)'"
	var_Items:[CellEditor,var_Items:AddItem("(LinkEditType)"),0]:EditType := LinkEditType
	var_Editor9 := var_Items:[CellEditor,var_Items:AddItem("(UserEditorType)"),0]
		var_Editor9:EditType := UserEditorType
		var_Editor9:UserEditor("Exontrol.ComboBox","")
		var_Object := var_Editor9:UserEditorObject
	h := var_Items:AddItem(255)
	var_Editor10 := var_Items:[CellEditor,h,0]
		var_Editor10:EditType := ColorListType
		var_Editor10:[Option,exColorListShowName] := true
	var_Items:[FormatCell,h,0] := "value + ' (ColorListType)'"
	var_Items:[CellEditor,var_Items:AddItem(65280),0]:EditType := ColorListType
	var_Items:[CellEditor,var_Items:AddItem("(MemoDropDownType)"),0]:EditType := MemoDropDownType
	var_Editor11 := var_Items:[CellEditor,var_Items:AddItem(-1),0]
		var_Editor11:EditType := CheckValueType
		var_Editor11:[Option,exCheckValue2] := 1
	h := var_Items:AddItem(50)
	var_Editor12 := var_Items:[CellEditor,h,0]
		var_Editor12:EditType := SliderType
		var_Editor12:[Option,exSliderWidth] := -60
		var_Editor12:[Option,exSliderTickFrequency] := 10
		var_Editor12:[Option,exSliderTickStyle] := 2
	var_Items:[FormatCell,h,0] := "value + ' (SliderType)'"
	h := var_Items:AddItem(100)
	var_Items:[CellEditor,h,0]:EditType := CalculatorType
	var_Items:[FormatCell,h,0] := "value + ' (CalculatorType)'"
	var_Items:EnsureVisibleItem(h)
oDCOCX_Exontrol1:EndUpdate()

1179
Editors (ImageSize = 16, default)

local var_Appearance as IAppearance
local var_Editor,var_Editor1,var_Editor10,var_Editor11,var_Editor12,var_Editor2,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Editor9 as IEditor
local var_Items as IItems
local h,var_Object as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ImageSize := 16
oDCOCX_Exontrol1:Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
IColumn{oDCOCX_Exontrol1:Columns:Add("Editors")}:[Def,exCellValueFormat] := 1
oDCOCX_Exontrol1:BackColorHeader := 0x4c6c6c6
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellEditor,var_Items:AddItem("(ReadOnly)"),0]:EditType := ReadOnly
	var_Items:[CellEditor,var_Items:AddItem("(EditType)"),0]:EditType := EditType
	h := var_Items:AddItem("Value 1")
	var_Editor := var_Items:[CellEditor,h,0]
		var_Editor:EditType := DropDownType
		var_Editor:AddItem(1,"Value 1",1)
		var_Editor:AddItem(2,"Value 2",2)
		var_Editor:AddItem(3,"Value 3",3)
	var_Items:[FormatCell,h,0] := "value + ' (DropDownType)'"
	h := var_Items:AddItem(1)
	var_Editor1 := var_Items:[CellEditor,h,0]
		var_Editor1:EditType := DropDownListType
		var_Editor1:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor1:AddItem(1,"Nancy Davolio",1)
		var_Editor1:AddItem(2,"Andrew Fuller",2)
		var_Editor1:AddItem(3,"Janet Leverling",3)
		var_Editor1:AddItem(4,"Peacock Margaret",3)
		var_Editor1:AddItem(5,"Steven Buchanan",2)
		var_Editor1:AddItem(6,"Michael Suyama",1)
		var_Editor1:AddItem(7,"Robert King",2)
		var_Editor1:AddItem(8,"Laura Callahan",3)
		var_Editor1:AddItem(9,"Anne Dodsworth",2)
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - single column list)'"
	h := var_Items:AddItem(1)
	var_Editor2 := var_Items:[CellEditor,h,0]
		var_Editor2:EditType := DropDownListType
		var_Editor2:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor2:AddItem(1,"Nancy Davolio",1)
		var_Editor2:AddItem(2,"Andrew Fuller",2)
		var_Editor2:InsertItem(3,"Janet Leverling",3,2)
		var_Editor2:InsertItem(4,"Peacock Margaret",3,2)
		var_Editor2:InsertItem(5,"Steven Buchanan",2,2)
		var_Editor2:InsertItem(6,"Michael Suyama",1,5)
		var_Editor2:InsertItem(7,"Robert King",2,2)
		var_Editor2:InsertItem(8,"Laura Callahan",3,2)
		var_Editor2:InsertItem(9,"Anne Dodsworth",2,5)
		var_Editor2:ExpandAll()
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - single column tree)'"
	h := var_Items:AddItem(1)
	var_Editor3 := var_Items:[CellEditor,h,0]
		var_Editor3:EditType := DropDownListType
		var_Editor3:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor3:[Option,exDropDownColumnCaption] := "Name¦Title¦City¦Phone"
		var_Editor3:[Option,exDropDownColumnWidth] := "312¦¦¦96"
		var_Editor3:AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor3:AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor3:AddItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3)
		var_Editor3:AddItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3)
		var_Editor3:AddItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2)
		var_Editor3:AddItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1)
		var_Editor3:AddItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2)
		var_Editor3:AddItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3)
		var_Editor3:AddItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2)
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - multiple columns list)'"
	h := var_Items:AddItem(1)
	var_Editor4 := var_Items:[CellEditor,h,0]
		var_Editor4:EditType := DropDownListType
		var_Editor4:DropDownAutoWidth := exDropDownEditorWidth
		var_Editor4:[Option,exDropDownColumnCaption] := "Name¦Title¦City¦Phone"
		var_Editor4:[Option,exDropDownColumnWidth] := "312¦¦¦96"
		var_Editor4:AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1)
		var_Editor4:AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2)
		var_Editor4:InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3,2)
		var_Editor4:InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3,2)
		var_Editor4:InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2,2)
		var_Editor4:InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1,5)
		var_Editor4:InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2,2)
		var_Editor4:InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3,2)
		var_Editor4:InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2,5)
		var_Editor4:ExpandAll()
	var_Items:[FormatCell,h,0] := "value + ' (DropDownList - multiple columns tree)'"
	h := var_Items:AddItem(100)
	var_Items:[CellEditor,h,0]:EditType := SpinType
	var_Items:[FormatCell,h,0] := "value + ' (SpinType)'"
	var_Items:[CellEditor,var_Items:AddItem("(MemoType)"),0]:EditType := MemoType
	h := var_Items:AddItem(3)
	var_Editor5 := var_Items:[CellEditor,h,0]
		var_Editor5:EditType := CheckListType
		var_Editor5:AddItem(1,"Border",1)
		var_Editor5:AddItem(2,"Single",2)
		var_Editor5:AddItem(4,"Frame",3)
	var_Items:[FormatCell,h,0] := "value + ' (CheckListType)'"
	h := var_Items:AddItem("193.226.40.161")
	var_Editor6 := var_Items:[CellEditor,h,0]
		var_Editor6:Mask := "{0,255}.{0,255}.{0,255}.{0,255}"
		var_Editor6:EditType := MaskType
	var_Items:[FormatCell,h,0] := "value + ' (MaskType)'"
	h := var_Items:AddItem(65280)
	var_Editor7 := var_Items:[CellEditor,h,0]
		var_Editor7:EditType := ColorType
		var_Editor7:Mask := "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0"
	var_Items:[FormatCell,h,0] := "value + ' (ColorType)'"
	h := var_Items:AddItem("Tahoma")
	var_Items:[CellEditor,h,0]:EditType := FontType
	var_Items:[FormatCell,h,0] := "value + ' (FontType)'"
	h := var_Items:AddItem("gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamYyIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAwBUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABGQZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCAAjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFASoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJDQNg/p4AAdoC")
	var_Items:[CellEditor,h,0]:EditType := PictureType
	var_Items:[FormatCell,h,0] := "value + ' (PictureType)'"
	var_Items:[CellEditor,var_Items:AddItem("(ButtonType)"),0]:EditType := ButtonType
	h := var_Items:AddItem(25)
	var_Items:[CellEditor,h,0]:EditType := ProgressBarType
	var_Items:[FormatCell,h,0] := "value + ' (ProgressBarType)'"
	h := var_Items:AddItem("Value 1")
	var_Editor8 := var_Items:[CellEditor,h,0]
		var_Editor8:EditType := PickEditType
		var_Editor8:AddItem(1,"Value 1",1)
		var_Editor8:AddItem(2,"Value 2",2)
		var_Editor8:AddItem(3,"Value 3",3)
	var_Items:[FormatCell,h,0] := "value + ' (PickEditType)'"
	var_Items:[CellEditor,var_Items:AddItem("(LinkEditType)"),0]:EditType := LinkEditType
	var_Editor9 := var_Items:[CellEditor,var_Items:AddItem("(UserEditorType)"),0]
		var_Editor9:EditType := UserEditorType
		var_Editor9:UserEditor("Exontrol.ComboBox","")
		var_Object := var_Editor9:UserEditorObject
	h := var_Items:AddItem(255)
	var_Editor10 := var_Items:[CellEditor,h,0]
		var_Editor10:EditType := ColorListType
		var_Editor10:[Option,exColorListShowName] := true
	var_Items:[FormatCell,h,0] := "value + ' (ColorListType)'"
	var_Items:[CellEditor,var_Items:AddItem(65280),0]:EditType := ColorListType
	var_Items:[CellEditor,var_Items:AddItem("(MemoDropDownType)"),0]:EditType := MemoDropDownType
	var_Editor11 := var_Items:[CellEditor,var_Items:AddItem(-1),0]
		var_Editor11:EditType := CheckValueType
		var_Editor11:[Option,exCheckValue2] := 1
	h := var_Items:AddItem(50)
	var_Editor12 := var_Items:[CellEditor,h,0]
		var_Editor12:EditType := SliderType
		var_Editor12:[Option,exSliderWidth] := -60
		var_Editor12:[Option,exSliderTickFrequency] := 10
		var_Editor12:[Option,exSliderTickStyle] := 2
	var_Items:[FormatCell,h,0] := "value + ' (SliderType)'"
	h := var_Items:AddItem(100)
	var_Items:[CellEditor,h,0]:EditType := CalculatorType
	var_Items:[FormatCell,h,0] := "value + ' (CalculatorType)'"
	var_Items:EnsureVisibleItem(h)
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column,var_Column1 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDcD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("ToLeft")}
	var_Column:[Def,exCellHasCheckBox] := true
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("ToRight")}
	var_Column1:[Def,exCellHasCheckBox] := true
	var_Column1:[Def,exCellDrawPartsOrder] := "caption,picture,icons,icon,check"
oDCOCX_Exontrol1:DefaultItemHeight := 32
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Caption")
	var_Items:[CellImage,h,0] := 2
	var_Items:[CellImages,h,0] := "1,2"
	var_Items:[CellPicture,h,0] := oDCOCX_Exontrol1:ExecuteTemplate("loadpicture(`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`)")
	var_Items:[CellValue,h,1] := var_Items:[CellValue,h,0]
	var_Items:[CellHAlignment,h,1] := RightAlignment
	var_Items:[CellImage,h,1] := var_Items:[CellImage,h,0]
	var_Items:[CellImages,h,1] := "2,1"
	var_Items:[CellPicture,h,1] := var_Items:[CellPicture,h,0]
	h := var_Items:AddItem("<b>HTML</b> <off 4>Caption")
	var_Items:[CellValueFormat,h,0] := exHTML
	var_Items:[CellImage,h,0] := 2
	var_Items:[CellImages,h,0] := "1,2"
	var_Items:[CellPicture,h,0] := oDCOCX_Exontrol1:ExecuteTemplate("loadpicture(`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`)")
	var_Items:[CellValue,h,1] := var_Items:[CellValue,h,0]
	var_Items:[CellValueFormat,h,1] := exHTML
	var_Items:[CellHAlignment,h,1] := RightAlignment
	var_Items:[CellImage,h,1] := var_Items:[CellImage,h,0]
	var_Items:[CellImages,h,1] := "2,1"
	var_Items:[CellPicture,h,1] := var_Items:[CellPicture,h,0]
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.
	// Column.Def(48) = 2
	// Column.Def(49) = 2

RETURN NIL

local var_Appearance as IAppearance
local var_Column,var_Column1,var_Column2,var_Column3 as IColumn
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ImageSize := 32
oDCOCX_Exontrol1:DefaultItemHeight := 36
oDCOCX_Exontrol1:HeaderHeight := oDCOCX_Exontrol1:DefaultItemHeight
oDCOCX_Exontrol1:SortBarHeight := oDCOCX_Exontrol1:DefaultItemHeight
oDCOCX_Exontrol1:Font:Size := 16
oDCOCX_Exontrol1:FilterBarFont:Size := oDCOCX_Exontrol1:Font:Size
oDCOCX_Exontrol1:ToolTipFont:Size := oDCOCX_Exontrol1:Font:Size
oDCOCX_Exontrol1:Indent := 26
oDCOCX_Exontrol1:Images("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")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDRDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
	var_Appearance:Add(3,"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")
	var_Appearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oDCOCX_Exontrol1:BackColorHeader := 0x4c6c6c6
oDCOCX_Exontrol1:SelBackColor := 0x4000000
oDCOCX_Exontrol1:SelForeColor := RGB(0,0,1)
oDCOCX_Exontrol1:[CheckImage,Unchecked] := 16777216
oDCOCX_Exontrol1:[CheckImage,Checked] := 33554432
oDCOCX_Exontrol1:[CheckImage,PartialChecked] := 50331648
oDCOCX_Exontrol1:[Background,exSelBackColorFilter] := oDCOCX_Exontrol1:SelBackColor
oDCOCX_Exontrol1:[Background,exSelForeColorFilter] := oDCOCX_Exontrol1:SelForeColor
oDCOCX_Exontrol1:[Background,exBackColorFilter] := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:[Background,exForeColorFilter] := oDCOCX_Exontrol1:ForeColor
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x4000000
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x4010101
oDCOCX_Exontrol1:[Background,exFooterFilterBarButton] := 0x40000ff
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:BackColorSortBar := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:FilterBarDropDownHeight := 1
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
	var_Column:Width := 128
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowCheckBox
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column1:FormatColumn := "1 pos ``"
	var_Column1:AllowSort := false
	var_Column1:Width := 48
	var_Column1:AllowSizing := false
	var_Column1:Alignment := CenterAlignment
	var_Column1:HeaderAlignment := CenterAlignment
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column2:DisplayFilterButton := true
	var_Column2:FilterList := exShowExclude | exShowCheckBox | exSortItemsAsc
	var_Column2:FilterType := exImage
	var_Column2:DisplayExpandButton := true
	var_Column2:ExpandColumns := "1,2,3"
	var_Column2:Width := 128
	var_Column2:HeaderImage := 1
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Images")}
	var_Column3:[Def,exCellHasCheckBox] := true
	var_Column3:Width := 196
	var_Column3:HTMLCaption := "<img>1</img><img>2</img><img>3</img> Images"
oDCOCX_Exontrol1:Columns:[Item,"Pos"]:Position := 3
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[ItemDivider,hR] := 0
	var_Items:[ItemDividerLine,hR] := EmptyLine
	h := var_Items:InsertItem(hR,nil,"Child A")
	var_Items:[CellImage,h,2] := 1
	var_Items:[CellImages,h,3] := "1,2,3"
	var_Items:[CellValue,h,3] := "123"
	h := var_Items:InsertItem(hR,nil,"Child B")
	var_Items:[CellState,h,0] := 1
	var_Items:[CellImage,h,2] := 3
	var_Items:[CellImages,h,3] := "2,3,1"
	var_Items:[CellValue,h,3] := "231"
	var_Items:[SelectItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Child C")
	var_Items:[CellImage,h,2] := 2
	var_Items:[CellState,h,3] := 1
	var_Items:[CellValue,h,3] := "312"
	var_Items:[CellImages,h,3] := "3,1,2"
	var_Items:[ExpandItem,hR] := true
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.
	// Column.Def(48) = 2
	// Column.Def(49) = 2

RETURN NIL

local var_Appearance as IAppearance
local var_Column,var_Column1,var_Column2,var_Column3 as IColumn
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ImageSize := 16
oDCOCX_Exontrol1:Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oDCOCX_Exontrol1:BackColorHeader := 0x4c6c6c6
oDCOCX_Exontrol1:SelBackColor := 0x4000000
oDCOCX_Exontrol1:SelForeColor := RGB(0,0,1)
oDCOCX_Exontrol1:[Background,exSelBackColorFilter] := oDCOCX_Exontrol1:SelBackColor
oDCOCX_Exontrol1:[Background,exSelForeColorFilter] := oDCOCX_Exontrol1:SelForeColor
oDCOCX_Exontrol1:[Background,exBackColorFilter] := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:[Background,exForeColorFilter] := oDCOCX_Exontrol1:ForeColor
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x4000000
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x4010101
oDCOCX_Exontrol1:[Background,exFooterFilterBarButton] := 0x40000ff
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:BackColorSortBar := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:FilterBarDropDownHeight := 1
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
	var_Column:Width := 128
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowCheckBox
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column1:FormatColumn := "1 pos ``"
	var_Column1:AllowSort := false
	var_Column1:Width := 48
	var_Column1:AllowSizing := false
	var_Column1:Alignment := CenterAlignment
	var_Column1:HeaderAlignment := CenterAlignment
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column2:DisplayFilterButton := true
	var_Column2:FilterList := exShowExclude | exShowCheckBox | exSortItemsAsc
	var_Column2:FilterType := exImage
	var_Column2:DisplayExpandButton := true
	var_Column2:ExpandColumns := "1,2,3"
	var_Column2:Width := 128
	var_Column2:HeaderImage := 1
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Images")}
	var_Column3:[Def,exCellHasCheckBox] := true
	var_Column3:Width := 196
	var_Column3:HTMLCaption := "<img>1</img><img>2</img><img>3</img> Images"
oDCOCX_Exontrol1:Columns:[Item,"Pos"]:Position := 3
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[ItemDivider,hR] := 0
	var_Items:[ItemDividerLine,hR] := EmptyLine
	h := var_Items:InsertItem(hR,nil,"Child A")
	var_Items:[CellImage,h,2] := 1
	var_Items:[CellImages,h,3] := "1,2,3"
	var_Items:[CellValue,h,3] := "123"
	h := var_Items:InsertItem(hR,nil,"Child B")
	var_Items:[CellState,h,0] := 1
	var_Items:[CellImage,h,2] := 3
	var_Items:[CellImages,h,3] := "2,3,1"
	var_Items:[CellValue,h,3] := "231"
	var_Items:[SelectItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Child C")
	var_Items:[CellImage,h,2] := 2
	var_Items:[CellState,h,3] := 1
	var_Items:[CellValue,h,3] := "312"
	var_Items:[CellImages,h,3] := "3,1,2"
	var_Items:[ExpandItem,hR] := true
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.

RETURN NIL

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Columns:[Item,"ShipVia"]:Position := 2
oDCOCX_Exontrol1:EndUpdate()

1174
Does the control display images from database (ADO)

local var_Column as IColumn
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:DefaultItemHeight := 48
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
var_Column := oDCOCX_Exontrol1:Columns:[Item,"Photo"]
	var_Column:Position := 1
	var_Column:Width := 128
oDCOCX_Exontrol1:EndUpdate()

1173
Does the control display images from database (DAO)

local var_Column as IColumn
local rs as Recordset
local var_PrivDBEngine as _DBEngine

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:DefaultItemHeight := 48
// Generate Source for 'Microsoft DAO 3.6 Object Library(dao360.dll)' server from Tools\Automation Server...
var_PrivDBEngine := _DBEngine{"DAO.DBEngine.36"}
	rs := var_PrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb",nil,nil,nil):OpenRecordset("Employees",nil,nil,nil)
oDCOCX_Exontrol1:DataSource := Recordset{rs}
var_Column := oDCOCX_Exontrol1:Columns:[Item,"Photo"]
	var_Column:Position := 1
	var_Column:Width := 128
oDCOCX_Exontrol1:EndUpdate()

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

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:Layout := "singlesort=" + CHR(34) + "C1:1" + CHR(34) + ""
oDCOCX_Exontrol1:EndUpdate()

1171
Is it possible to view all events the control fires
METHOD OCX_Exontrol1Event(EventID) CLASS MainDialog
	// Event event - Notifies the application once the control fires an event.
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[EventParam,-2]) ))
RETURN NIL

local var_Column as IColumn
local var_Items as IItems
local h,hChild as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Tasks")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
	var_Column:[Def,exCellValueFormat] := 1
	var_Column:FormatColumn := "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
	var_Column:Editor:EditType := EditType
oDCOCX_Exontrol1:HeaderVisible := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Project")
	hChild := var_Items:InsertItem(h,nil,"Task 1")
	var_Items:[SelectItem,hChild] := true
	hChild := var_Items:InsertItem(h,nil,"Task 2")
	var_Items:[CellState,hChild,0] := 1
	hChild := var_Items:InsertItem(h,nil,"Task 3")
	var_Items:[CellState,hChild,0] := 1
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

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

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Default")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:FormatColumn := "1 pos 'A-Z'"
	var_Column:Position := 0
	var_Column:AllowSizing := false
	var_Column:Width := 32
	var_Column:Enabled := false
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Index")}
	var_Column1:FormatColumn := "0 index ''"
	var_Column1:AllowSizing := false
	var_Column1:Width := 32
	var_Column1:Enabled := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("A")
	var_Items:AddItem("A")
	var_Items:AddItem("A")
	OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:[FindItem,"A",0,0],1] ))
	OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:[FindItem,"A",0,1],1] ))
	OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:[FindItem,"A",0,2],1] ))
oDCOCX_Exontrol1:EndUpdate()

1169
How can I prevent expanding/collapsing the child items

METHOD OCX_Exontrol1BeforeExpandItem(Item,Cancel) CLASS MainDialog
	// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
	Cancel := oDCOCX_Exontrol1:Items:[ItemParent,Item]
RETURN NIL

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:SingleSel := false
oDCOCX_Exontrol1:Columns:Add("Default")
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(var_Items:InsertItem(h,nil,"Child 1.1"),nil,"Child")
	var_Items:InsertItem(h,nil,"Child 1.2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(var_Items:InsertItem(h,nil,"Child 2.1"),nil,"Child")
	var_Items:InsertItem(h,nil,"Child 2.2")
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

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

local var_Appearance as IAppearance
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"c:\exontrol\images\normal.ebn")
	var_Appearance:Add(10,"CP:1 0 3 0 -3")
	var_Appearance:Add(17,"CP:1 3 0 -3 0")
oDCOCX_Exontrol1:[Background,exHSThumb] := 0xa000000
oDCOCX_Exontrol1:[Background,exVSThumb] := 0x11000000
oDCOCX_Exontrol1:ScrollBars := exVScrollEmptySpace | exHScrollEmptySpace | exVScrollOnThumbRelease | exHScrollOnThumbRelease | exDisableBoth
oDCOCX_Exontrol1:ScrollBySingleLine := true
oDCOCX_Exontrol1:Columns:Add("Def")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(1)
	var_Items:AddItem(2)
	var_Items:AddItem(3)
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddGroupItem(Item) CLASS MainDialog
	// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
	// AddBar(Item,"Progress", #12/2/2017#,#12/2/2017#)
	// DefineSummaryBars(Item,"", -3, "")
	// Chart.ItemBackColor(Item) = color
	local var_Items as IItems
	local color as USUAL
	color := 14474460
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ItemDivider,Item] := -1
		var_Items:[CellValue,Item,1] := var_Items:[CellCaption,Item,var_Items:[GroupItem,Item]]
		var_Items:[ItemBold,Item] := true
		var_Items:[ItemBackColor,Item] := color
RETURN NIL

METHOD OCX_Exontrol1AddItem(Item) CLASS MainDialog
	// AddItem event - Occurs after a new Item has been inserted to Items collection.
	// AddBar(Item,"Task",#12/4/2017#,#12/10/2017#)
	// ItemBar(Item,"", 514)  = ItemToIndex(Item)
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
RETURN NIL

local var_Columns as IColumns
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("C1")
	var_Columns:Add("C2")
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oDCOCX_Exontrol1:AllowGroupBy := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Item A")
	var_Items:[CellValue,h,1] := "SubItem A.1"
	h := var_Items:AddItem("Item A")
	var_Items:[CellValue,h,1] := "SubItem A.1"
	h := var_Items:AddItem("Item A")
	var_Items:[CellValue,h,1] := "SubItem A.1"
	h := var_Items:AddItem("Item A")
	var_Items:[CellValue,h,1] := "SubItem A.1"
	h := var_Items:AddItem("Item B")
	var_Items:[CellValue,h,1] := "SubItem B.1"
	h := var_Items:AddItem("Item B")
	var_Items:[CellValue,h,1] := "SubItem B.1"
oDCOCX_Exontrol1:Columns:[Item,0]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

1166
How can I display an item of picture type

local var_Items as IItems
local h,h1 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:ScrollBySingleLine := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
IColumn{oDCOCX_Exontrol1:Columns:Add("Artikel")}:HTMLCaption := "<u>Artikel"
IColumn{oDCOCX_Exontrol1:Columns:Add("Waarde")}:HTMLCaption := "<u>Waarde"
oDCOCX_Exontrol1:[HTMLPicture,"T22128"] := "c:\exontrol\images\zipdisk.gif"
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("T22128-28)2D")
	h1 := var_Items:InsertItem(h,nil,"<img>T22128:128</img>")
	var_Items:[CellValueFormat,h1,0] := exHTML
	var_Items:[ItemHeight,h1] := 128
	h1 := var_Items:InsertItem(h,nil,"werkvoorbereiding")
	var_Items:[CellValue,h1,1] := "5.80"
	var_Items:[CellBold,h1,1] := true
	var_Items:[CellValue,var_Items:InsertItem(h1,nil,"Type"),1] := "Eenvoudig"
	var_Items:[CellValue,var_Items:InsertItem(h1,nil,"Prijs p/uur"),1] := "60,00"
	var_Items:[CellValue,var_Items:InsertItem(h1,nil,"Marhe"),1] := "15,00%"
	var_Items:[CellValue,var_Items:InsertItem(h1,nil,"Insteltijd min."),1] := "5,00"
	var_Items:[CellValue,var_Items:InsertItem(h1,nil,"Aantal"),1] := 1
	var_Items:[CellValue,var_Items:InsertItem(h1,nil,"Kostprije"),1] := "5,00"
	var_Items:[ExpandItem,h1] := true
	h1 := var_Items:InsertItem(h,nil,"materiall")
	var_Items:[CellValue,h1,1] := "14.82"
	var_Items:[CellBold,h1,1] := true
	var_Items:[ItemHasChildren,h1] := true
	h1 := var_Items:InsertItem(h,nil,"snijden")
	var_Items:[CellValue,h1,1] := "3.13"
	var_Items:[CellBold,h1,1] := true
	var_Items:[ItemHasChildren,h1] := true
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

1165
Dark mode

local back,fore as USUAL

oDCOCX_Exontrol1:BeginUpdate()
back := 65536
fore := 16777215
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oDCOCX_Exontrol1:VisualAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4biaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA")
oDCOCX_Exontrol1:VisualAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5CjmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxbbuaaXLhGCYBgIA==")
oDCOCX_Exontrol1:HeaderAppearance := Bump
oDCOCX_Exontrol1:BackColor := back
oDCOCX_Exontrol1:BackColorHeader := back
oDCOCX_Exontrol1:BackColorLevelHeader := back
oDCOCX_Exontrol1:BackColorSortBar := back
oDCOCX_Exontrol1:BackColorSortBarCaption := back
oDCOCX_Exontrol1:FilterBarBackColor := back
oDCOCX_Exontrol1:FilterBarForeColor := fore
oDCOCX_Exontrol1:ForeColor := fore
oDCOCX_Exontrol1:ForeColorHeader := fore
oDCOCX_Exontrol1:ForeColorSortBar := fore
oDCOCX_Exontrol1:SelBackColor := fore
oDCOCX_Exontrol1:SelForeColor := back
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x1000000
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:[Background,exToolTipAppearance] := 0x3000000
oDCOCX_Exontrol1:[Background,exToolTipBackColor] := back
oDCOCX_Exontrol1:[Background,exToolTipForeColor] := fore
oDCOCX_Exontrol1:[Background,exSelBackColorFilter] := fore
oDCOCX_Exontrol1:[Background,exSelForeColorFilter] := back
oDCOCX_Exontrol1:[Background,exBackColorFilter] := back
oDCOCX_Exontrol1:[Background,exForeColorFilter] := fore
oDCOCX_Exontrol1:[Background,exSortBarLinkColor] := back
oDCOCX_Exontrol1:[Background,exScrollSizeGrip] := back
oDCOCX_Exontrol1:[Description,exFilterBarExclude] := "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
oDCOCX_Exontrol1:EndUpdate()

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


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:LoadXML("http://www.exontrol.net/testing.xml")
oDCOCX_Exontrol1:Font:Size := 22
oDCOCX_Exontrol1:HeaderHeight := 42
oDCOCX_Exontrol1:DefaultItemHeight := 36
oDCOCX_Exontrol1:Items:[ItemHeight,0] := oDCOCX_Exontrol1:DefaultItemHeight
oDCOCX_Exontrol1:EndUpdate()

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

local var_Appearance as IAppearance
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
	var_Appearance:Add(2,"CP:1 -4 0 0 0")
oDCOCX_Exontrol1:SelBackColor := 0x2000000
oDCOCX_Exontrol1:SelForeColor := RGB(0,0,1)
oDCOCX_Exontrol1:FullRowSelect := exColumnSel
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:DefaultItemHeight := 24
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:Columns:Add("C1")
oDCOCX_Exontrol1:Columns:Add("C2")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem("Cell 1"),1] := "Cell 2"
	var_Items:[CellValue,var_Items:AddItem("Cell 3"),1] := "Cell 4"
oDCOCX_Exontrol1:Items:SelectPos := 1
oDCOCX_Exontrol1:SelectColumnIndex := 1
oDCOCX_Exontrol1:EndUpdate()

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

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
oDCOCX_Exontrol1:SelBackColor := 0x1000000
oDCOCX_Exontrol1:SelForeColor := RGB(0,0,1)
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:DefaultItemHeight := 24
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:Columns:Add("C1")
oDCOCX_Exontrol1:Columns:Add("C2")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem("Cell 1"),1] := "Cell 2"
	var_Items:[CellValue,var_Items:AddItem("Cell 3"),1] := "Cell 4"
	var_Items:SelectPos := 1
oDCOCX_Exontrol1:EndUpdate()

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

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:DefaultItemHeight := 24
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:Columns:Add("C1")
oDCOCX_Exontrol1:Columns:Add("C2")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem("Cell 1"),1] := "Cell 2"
	h := var_Items:AddItem("Cell 2")
	var_Items:[CellValue,h,1] := "Cell 3"
	var_Items:[CellBackColor,h,1] := 0x1000000
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.
	// Column.Def(17) = 1

RETURN NIL

METHOD OCX_Exontrol1FilterChange() CLASS MainDialog
	// FilterChange event - Occurs when filter was changed.
	local format as USUAL
	format := oDCOCX_Exontrol1:FormatABC("`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",oDCOCX_Exontrol1:FilterBarPromptPattern,nil,nil)
	oDCOCX_Exontrol1:Columns:[Item,0]:FormatColumn := AsString(format)
	oDCOCX_Exontrol1:Columns:[Item,1]:FormatColumn := AsString(format)
RETURN NIL

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:Columns:Add("Col 1")
oDCOCX_Exontrol1:Columns:Add("Col 2")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem("219 Smith"),1] := "Ignacio 1234"
	var_Items:[CellValue,var_Items:AddItem("1666 County Road 309A"),1] := "897 Manassa"
	var_Items:[CellValue,var_Items:AddItem("38 Lone Pine"),1] := "Durango 11"
	var_Items:[CellValue,var_Items:AddItem("612 Jachim Street"),1] := "Lamar 222"
oDCOCX_Exontrol1:FilterBarPromptPattern := "1"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible
oDCOCX_Exontrol1:FilterBarPromptType := exFilterPromptCaseSensitive | exFilterPromptContainsAll
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1RClick() CLASS MainDialog
	// RClick event - Fired when right mouse button is clicked
	local var_ExContextMenu as IExContextMenu
	OutputDebugString(String2Psz( "Edit Mode: " ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Editing) ))
	// Generate Source for 'ExContextMenu 1.0 Type Library(ExContextMenu.dll)' server from Tools\Automation Server...
	var_ExContextMenu := IExContextMenu{"Exontrol.ContextMenu"}
		var_ExContextMenu:Items:ToString := "Check[chk],[sep],Item 1,Item 2,Item 3,Popup(A,B,C)"
		OutputDebugString(String2Psz( AsString(var_ExContextMenu:Select(nil,nil,nil)) ))
RETURN NIL

local var_Editor as IEditor
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Flat
var_Editor := IColumn{oDCOCX_Exontrol1:Columns:Add("Column")}:Editor
	var_Editor:EditType := EditType
	var_Editor:[Option,exEditAllowContextMenu] := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item 1")
	var_Items:AddItem("Item 2")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Appearance as IAppearance
local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSAsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDMRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwXg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqDBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=")
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKAT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBHAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaBZhggZgagaYRoEwShWA6NZZAMQBAICA==")
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x1000000
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x2000000
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:HeaderHeight := 28
oDCOCX_Exontrol1:BackColorHeader := RGB(255,255,255)
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:HeaderVisible := true
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("C1")}:DisplayFilterButton := true
	var_Column := IColumn{var_Columns:Add("C2")}
		var_Column:DisplayFilterButton := true
		var_Column:Filter := "Item 2"
		var_Column:FilterType := exFilter
	IColumn{var_Columns:Add("C3")}:DisplayFilterButton := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Item 1")
	var_Items:[CellValue,h,1] := "Item 2"
	var_Items:[CellValue,h,2] := "Item 3"
	h := var_Items:AddItem("Item 4")
	var_Items:[CellValue,h,1] := "Item 5"
	var_Items:[CellValue,h,2] := "Item 6"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

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

local var_Appearance as IAppearance
local var_Items as IItems
local h,size as USUAL

size := 2
oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(3,"gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcCQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKcRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJrnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYGoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpFIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==")
	var_Appearance:Add(4,"gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYIgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVYghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxTiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYFoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaFKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWRYOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==")
	var_Appearance:Add(1,oDCOCX_Exontrol1:FormatABC("`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size,nil,nil))
	var_Appearance:Add(2,oDCOCX_Exontrol1:FormatABC("`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size,nil,nil))
oDCOCX_Exontrol1:LinesAtRoot := exGroupLinesAtRoot
oDCOCX_Exontrol1:HasButtons := exCustom
oDCOCX_Exontrol1:[HasButtonsCustom,false] := 16777216
oDCOCX_Exontrol1:[HasButtonsCustom,true] := 33554432
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(h,nil,"Child")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Appearance as IAppearance
local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=")
	var_Appearance:Add(1,"CP:2 -8 -4 2 4")
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x1fefefe
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x1010101
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:HeaderHeight := 28
oDCOCX_Exontrol1:BackColorHeader := RGB(255,255,255)
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:HeaderVisible := true
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("C1")}:DisplayFilterButton := true
	var_Column := IColumn{var_Columns:Add("C2")}
		var_Column:DisplayFilterButton := true
		var_Column:Filter := "Item 2"
		var_Column:FilterType := exFilter
	IColumn{var_Columns:Add("C3")}:DisplayFilterButton := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Item 1")
	var_Items:[CellValue,h,1] := "Item 2"
	var_Items:[CellValue,h,2] := "Item 3"
	h := var_Items:AddItem("Item 4")
	var_Items:[CellValue,h,1] := "Item 5"
	var_Items:[CellValue,h,2] := "Item 6"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

1155
How do I update itemcount and matchitemcount of the FilterBarCaption after I added the item using the AddItem method
METHOD OCX_Exontrol1Click() CLASS MainDialog
	// Click event - Occurs when the user presses and then releases the left mouse button over the grid control.
	oDCOCX_Exontrol1:Items:AddItem("new")
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1 as IColumn
local var_Items as IItems

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

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

local var_Column as IColumn

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:TreeColumnIndex := -1
oDCOCX_Exontrol1:DrawGridLines := exRowLines
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Default")}
	var_Column:Alignment := CenterAlignment
	var_Column:FormatColumn := "ltrim(rtrim(value))"
oDCOCX_Exontrol1:Items:AddItem("item 1            ")
oDCOCX_Exontrol1:Items:AddItem("             item 2")
oDCOCX_Exontrol1:Items:AddItem("   item 3                ")
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1DblClick(Shift,X,Y) CLASS MainDialog
	// DblClick event - Occurs when the user dblclk the left mouse button over an object.
	local var_ItemFromPoint as USUAL
	var_ItemFromPoint := oDCOCX_Exontrol1:[ItemFromPoint,-1,-1,c,hit]
	oDCOCX_Exontrol1:FocusColumnIndex := c
	oDCOCX_Exontrol1:Edit(nil)
RETURN NIL

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:AutoEdit := false
oDCOCX_Exontrol1:ReadOnly := exLocked
oDCOCX_Exontrol1:AutoSearch := true
IColumn{oDCOCX_Exontrol1:Columns:Add("")}:Visible := false
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Contains")}
	var_Column:AutoSearch := exContains
	var_Column:Editor:EditType := EditType
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem(nil),1] := "Tom Hanks"
	var_Items:[CellValue,var_Items:AddItem(nil),1] := "Leonardo DiCaprio"
	var_Items:[CellValue,var_Items:AddItem(nil),1] := "Will Smith"
	var_Items:[CellValue,var_Items:AddItem(nil),1] := "Tom Cruise"
oDCOCX_Exontrol1:EndUpdate()

1152
How can I enable the Undo/Redo feature

local var_Column,var_Column1 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AllowUndoRedo := true
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("P1")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("P2")}
	var_Column1:[Def,exCellHasCheckBox] := true
	var_Column1:PartialCheck := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	var_Items:AddItem("Press CTRL + Z for Undo, and CTRL + Y for Redo")
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1DblClick(Shift,X,Y) CLASS MainDialog
	// DblClick event - Occurs when the user dblclk the left mouse button over an object.
	oDCOCX_Exontrol1:Edit(nil)
RETURN NIL

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:AutoEdit := false
oDCOCX_Exontrol1:AutoSearch := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Contains")}
	var_Column:AutoSearch := exContains
	var_Column:Editor:EditType := EditType
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Tom Hanks")
	var_Items:AddItem("Leonardo DiCaprio")
	var_Items:AddItem("Will Smith")
	var_Items:AddItem("Tom Cruise")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Editor as IEditor
local var_Items as IItems

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

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

local var_Editor as IEditor
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Editor := IColumn{oDCOCX_Exontrol1:Columns:Add("Multiple-Columns DropDownListType")}:Editor
	var_Editor:EditType := DropDownListType
	var_Editor:DropDownAutoWidth := exDropDownEditorWidth
	var_Editor:[Option,exDropDownColumnCaption] := "City¦Coordinates¦State"
	var_Editor:AddItem(0,"JV3|Jollyville¦3026N 09746W¦Texas",nil)
	var_Editor:AddItem(1,"TMO|Altamont¦4021N 11017W¦Utah",nil)
	var_Editor:AddItem(2,"IIM|Williamston¦4241N 08417W¦Michigan",nil)
	var_Editor:AddItem(3,"IWN|Merrittstown¦3958N 07952W¦Pennsylvania",nil)
	var_Editor:AddItem(4,"HOU|Houston¦2945N 09521W¦Texas",nil)
	var_Editor:AddItem(5,"GSF|Gales Ferry¦4125N 07205W¦Connecticut",nil)
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("HOU")
	var_Items:AddItem("IIM")
	var_Items:AddItem("TMO")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Editor as IEditor
local var_Items as IItems

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

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

local var_Editor as IEditor
local var_Items as IItems

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

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

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarTop
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:FilterBarHeight := oDCOCX_Exontrol1:HeaderHeight
oDCOCX_Exontrol1:HeaderAppearance := Flat
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Column")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterType := exPattern
	var_Column:Filter := "B*"
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Index")}
	var_Column1:FormatColumn := "1 index ``"
	var_Column1:Position := 0
	var_Column1:Width := 48
	var_Column1:AllowSizing := false
	var_Column1:SortType := SortNumeric
	var_Column1:[Def,exCellHasCheckBox] := true
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("A.1")
	var_Items:AddItem("A.2")
	var_Items:AddItem("B.1")
	var_Items:AddItem("B.2")
	var_Items:AddItem("B.3")
	var_Items:AddItem("C")
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

1145
DragDrop (with visual effect)

METHOD OCX_Exontrol1OLEDragDrop(Data,Effect,Button,Shift,X,Y) CLASS MainDialog
	// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	local var_Items as IItems
	local i as USUAL
	i := oDCOCX_Exontrol1:[ItemFromPoint,-1,-1,c,hit]
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ExpandItem,i] := true
RETURN NIL

METHOD OCX_Exontrol1OLEStartDrag(Data,AllowedEffects) CLASS MainDialog
	// OLEStartDrag event - Occurs when the OLEDrag method is called.
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	AllowedEffects := 1
RETURN NIL

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGjuKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==")
oDCOCX_Exontrol1:[Background,exListOLEDropPosition] := 0x1000000
oDCOCX_Exontrol1:[Background,exDragDropBefore] := RGB(0,0,0)
oDCOCX_Exontrol1:[Background,exDragDropAfter] := RGB(255,255,255)
oDCOCX_Exontrol1:OLEDropMode := exOLEDropManual
oDCOCX_Exontrol1:AutoDrag := exAutoDragPositionAnyOnRight
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:Indent := 16
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
OutputDebugString(String2Psz( "You can:" ))
OutputDebugString(String2Psz( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" ))
OutputDebugString(String2Psz( "B) right-click to re-arrange the item position inside the same control" ))
OutputDebugString(String2Psz( "This sample shows how you can insert the data being dropped as a child of the item being hovered." ))

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

METHOD OCX_Exontrol1OLEDragDrop(Data,Effect,Button,Shift,X,Y) CLASS MainDialog
	// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	local var_Items as IItems
	local i as USUAL
	i := oDCOCX_Exontrol1:[ItemFromPoint,-1,-1,c,hit]
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ExpandItem,i] := true
RETURN NIL

METHOD OCX_Exontrol1OLEStartDrag(Data,AllowedEffects) CLASS MainDialog
	// OLEStartDrag event - Occurs when the OLEDrag method is called.
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	AllowedEffects := 1
RETURN NIL

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:[Background,exDragDropBefore] := RGB(0,0,0)
oDCOCX_Exontrol1:[Background,exDragDropAfter] := RGB(255,255,255)
oDCOCX_Exontrol1:OLEDropMode := exOLEDropManual
oDCOCX_Exontrol1:AutoDrag := exAutoDragPositionAnyOnRight
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:Indent := 16
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
OutputDebugString(String2Psz( "You can:" ))
OutputDebugString(String2Psz( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" ))
OutputDebugString(String2Psz( "B) right-click to re-arrange the item position inside the same control" ))
OutputDebugString(String2Psz( "This sample shows how you can insert the data being dropped as a child of the item being hovered." ))

1143
DragDrop

METHOD OCX_Exontrol1OLEDragDrop(Data,Effect,Button,Shift,X,Y) CLASS MainDialog
	// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	local var_Items as IItems
	local i as USUAL
	i := oDCOCX_Exontrol1:[ItemFromPoint,-1,-1,c,hit]
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ExpandItem,i] := true
RETURN NIL

METHOD OCX_Exontrol1OLEStartDrag(Data,AllowedEffects) CLASS MainDialog
	// OLEStartDrag event - Occurs when the OLEDrag method is called.
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	AllowedEffects := 1
RETURN NIL

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:OLEDropMode := exOLEDropManual
oDCOCX_Exontrol1:AutoDrag := exAutoDragPositionAnyOnRight
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:Indent := 16
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
OutputDebugString(String2Psz( "You can:" ))
OutputDebugString(String2Psz( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" ))
OutputDebugString(String2Psz( "B) right-click to re-arrange the item position inside the same control" ))
OutputDebugString(String2Psz( "This sample shows how you can insert the data being dropped as a child of the item being hovered." ))

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

local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Item")
	var_Column := IColumn{var_Columns:Add("Pos")}
		var_Column:Position := 0
		var_Column:Width := 32
		var_Column:AllowSizing := false
		var_Column:FormatColumn := "1 index ``"
		var_Column:AllowSort := false
		var_Column:AllowDragging := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Item")
	var_Column := IColumn{var_Columns:Add("Pos")}
		var_Column:Position := 0
		var_Column:Width := 32
		var_Column:AllowSizing := false
		var_Column:FormatColumn := "1 index ``"
		var_Column:AllowSort := false
		var_Column:AllowDragging := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1FilterChange() CLASS MainDialog
	// FilterChange event - Occurs when filter was changed.
	oDCOCX_Exontrol1:Indent := oDCOCX_Exontrol1:FormatABC("value > 0 ? 18 : 0",:Items:MatchItemCount,nil,nil)
RETURN NIL

local var_Column,var_Column1 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local h,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:Indent := 18
oDCOCX_Exontrol1:FilterInclude := exMatchingItemsOnly
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:HeaderAppearance := Flat
var_Columns := oDCOCX_Exontrol1:Columns
	var_Column := IColumn{var_Columns:Add("Column")}
		var_Column:DisplayFilterButton := true
		var_Column:FilterType := exFilter
		var_Column:FilterList := exShowCheckBox
		var_Column:Filter := "C1"
	var_Column1 := IColumn{var_Columns:Add("Pos")}
		var_Column1:FormatColumn := "1 rindex ``"
		var_Column1:Position := 0
		var_Column1:AllowSizing := false
		var_Column1:AllowDragging := false
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("R1")
	h2 := var_Items:InsertItem(h,nil,"S")
	var_Items:InsertItem(h2,nil,"C1")
	var_Items:InsertItem(h2,nil,"C2")
	var_Items:InsertItem(h,nil,"C1")
	var_Items:InsertItem(h,nil,"C2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("R2")
	var_Items:InsertItem(h,nil,"C1")
	var_Items:InsertItem(h,nil,"C2")
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.

RETURN NIL

METHOD OCX_Exontrol1AddGroupItem(Item) CLASS MainDialog
	// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ItemDivider,Item] := -1
		var_Items:[ItemBackColor,Item] := oDCOCX_Exontrol1:BackColorSortBar
		var_Items:[ItemHeight,Item] := oDCOCX_Exontrol1:HeaderHeight
		var_Items:[CellMerge,Item,0] := "1,2,3,4,5,7,8,9,10,11,12"
		var_Items:[CellValue,Item,13] := "count(current,rec,1)"
		var_Items:[CellValueFormat,Item,13] := exTotalField | exHTML
		var_Items:[CellValue,Item,0] := var_Items:[CellCaption,Item,var_Items:[GroupItem,Item]]
		var_Items:[FormatCell,Item,0] := "`<b>` + value + `</b> <font ;7><off 3><fgcolor=808080>(` + %13 +  `)`"
		var_Items:[CellValue,Item,6] := "sum(current,all,dbl(%6))"
		var_Items:[CellValueFormat,Item,6] := exTotalField | exHTML
		var_Items:[CellForeColor,Item,6] := RGB(102,102,102)
RETURN NIL

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local hL as USUAL
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exGroupLinesOutside
oDCOCX_Exontrol1:Indent := 12
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ScrollBySingleLine := true
oDCOCX_Exontrol1:BackColorSortBar := RGB(240,240,240)
oDCOCX_Exontrol1:AutoDrag := exAutoDragScroll
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:SingleSort := false
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:HeaderHeight := 24
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Count")}:Visible := false
	var_Column := var_Columns:[Item,"Freight"]
		var_Column:[Def,exCellBackColor] := oDCOCX_Exontrol1:BackColorSortBar
		var_Column:[Def,exHeaderBackColor] := var_Column:[Def,exCellBackColor]
		var_Column:[Def,exCellPaddingRight] := 4
		var_Column:[Def,exCellPaddingLeft] := 4
		var_Column:HeaderBold := true
		var_Column:AllowGroupBy := false
		var_Column:FormatColumn := "value format ``"
		var_Column:Alignment := RightAlignment
	var_Column1 := var_Columns:[Item,0]
		var_Column1:AllowGroupBy := false
		var_Column1:[Def,exCellValueFormat] := 1
	var_Columns:[Item,"ShipCountry"]:SortOrder := SortAscending
oDCOCX_Exontrol1:ScrollBySingleLine := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exBottom] := 1
	hL := var_Items:[LockedItem,exBottom,0]
	var_Items:[ItemHeight,hL] := 24
	var_Items:[ItemBold,hL] := true
	var_Items:[ItemBackColor,hL] := oDCOCX_Exontrol1:BackColorSortBar
	var_Items:[CellValue,hL,6] := "sum(all,rec,dbl(%6))"
	var_Items:[CellValueFormat,hL,6] := exTotalField | exHTML
	var_Items:[CellHAlignment,hL,6] := RightAlignment
	var_Items:[FormatCell,hL,6] := "value format ``"
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column,var_Column1 as IColumn
local var_ConditionalFormat as IConditionalFormat
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:DrawGridLines := exHLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJXhaI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Default")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Position")}
	var_Column1:FormatColumn := "((1 rindex ``) contains `.`) = 0"
	var_Column1:Visible := false
var_ConditionalFormat := oDCOCX_Exontrol1:ConditionalFormats:Add("%C1",nil)
	var_ConditionalFormat:BackColor := 0x1e0e0e0
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:InsertItem(h,nil,"Child 3")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	h := var_Items:AddItem("Root 3")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems
local h,hChild as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Tasks")}
	var_Column:[Def,exCellValueFormat] := 1
oDCOCX_Exontrol1:HeaderVisible := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Project")
	hChild := var_Items:InsertItem(h,nil,"<img>1</img> Task (left)")
	hChild := var_Items:InsertItem(h,nil,"<c><img>2</img> Task (center)")
	hChild := var_Items:InsertItem(h,nil,"<r>Task (right) <img>3</img>")
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

1136
How do I mask for float/integer number

local var_Editor,var_Editor1,var_Editor2,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8 as IEditor
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := true
IColumn{oDCOCX_Exontrol1:Columns:Add("Type")}:Width := 32
oDCOCX_Exontrol1:Columns:Add("Editor")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Integer")
	var_Items:[CellValue,h,1] := "12"
	var_Editor := var_Items:[CellEditor,h,1]
		var_Editor:EditType := EditType
		var_Editor:Numeric := exInteger
	h := var_Items:AddItem("Integer (mask, group)")
	var_Items:[CellValue,h,1] := "10002"
	var_Items:[FormatCell,h,1] := "value format `0||`"
	var_Editor1 := var_Items:[CellEditor,h,1]
		var_Editor1:EditType := MaskType
		var_Editor1:Mask := ";;;float,digits=0,invalid=empty,warning=invalid character"
	h := var_Items:AddItem("Integer (mask, no group)")
	var_Items:[CellValue,h,1] := "10002"
	var_Items:[FormatCell,h,1] := "value format `0|0|`"
	var_Editor2 := var_Items:[CellEditor,h,1]
		var_Editor2:EditType := MaskType
		var_Editor2:Mask := ";;;float,digits=0,grouping=,invalid=empty,warning=invalid character"
	h := var_Items:AddItem("Float")
	var_Items:[CellValue,h,1] := "+12.34E+2"
	var_Editor3 := var_Items:[CellEditor,h,1]
		var_Editor3:EditType := EditType
		var_Editor3:Numeric := exFloat
	h := var_Items:AddItem("Float (no signs)")
	var_Items:[CellValue,h,1] := "12.34E-2"
	var_Editor4 := var_Items:[CellEditor,h,1]
		var_Editor4:EditType := EditType
		var_Editor4:Numeric := exDisableSigns | exFloat
	h := var_Items:AddItem("Float-Integer")
	var_Items:[CellValue,h,1] := "+12.34"
	var_Editor5 := var_Items:[CellEditor,h,1]
		var_Editor5:EditType := EditType
		var_Editor5:Numeric := exFloatInteger
	h := var_Items:AddItem("Float-Integer (no signs)")
	var_Items:[CellValue,h,1] := "12.34"
	var_Editor6 := var_Items:[CellEditor,h,1]
		var_Editor6:EditType := EditType
		var_Editor6:Numeric := exDisableSigns | exFloatInteger
	h := var_Items:AddItem("Float (mask,group)")
	var_Items:[CellValue,h,1] := "10002.34"
	var_Items:[FormatCell,h,1] := "value format `2`"
	var_Editor7 := var_Items:[CellEditor,h,1]
		var_Editor7:EditType := MaskType
		var_Editor7:Mask := ";;;float,invalid=empty,warning=invalid character"
	h := var_Items:AddItem("Float (mask, no group)")
	var_Items:[CellValue,h,1] := "10002.34"
	var_Items:[FormatCell,h,1] := "value format `2|0|`"
	var_Editor8 := var_Items:[CellEditor,h,1]
		var_Editor8:EditType := MaskType
		var_Editor8:Mask := ";;;float,grouping=,invalid=empty,warning=invalid character"
oDCOCX_Exontrol1:EndUpdate()

1135
How do I set an extra data for each item
METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	local i as USUAL
	i := oDCOCX_Exontrol1:[ItemFromPoint,-1,-1,c,hit]
	OutputDebugString(String2Psz( AsString(i) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Items:[ItemData,i]) ))
RETURN NIL

local var_Items,var_Items1 as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[ItemData,var_Items:AddItem("method 1")] := "your extra data of method 1"
	var_Items:InsertItem(0,"your extra data of method 2","method 2")
var_Items1 := oDCOCX_Exontrol1:Items
	var_Items1:DefaultItem := var_Items1:AddItem("method 3")
	var_Items1:[ItemData,0] := "your extra data of method 3"
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}")
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesVSolid
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Item")
	var_Column := IColumn{var_Columns:Add("Pos")}
		var_Column:Position := 0
		var_Column:Width := 32
		var_Column:AllowSizing := false
		var_Column:FormatColumn := "1 index ``"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:[HTMLPicture,"exclude"] := "gCJKBOI4NBQaBQAhQNJJIIhShQACERCAEAcRdrdcUQhQDOZCJJUBEjbbhJ7giIJOBILJziJvl4BeKibhDiIZOhFLB0KZvMx0O5hORlAB3owuNJuNZzMZhOBlFxvORnTbuHgaiIeKBMKhFf9fDIcEoPCAVEAlGI4HhBBYMCARCQVGg4IhVMCAWC2XY1Q7WJ8RBB0KROKYAYDBbzicjndD6fA/VsRHRJIhBkRbMYIGwGAQjA2fRYOEBoYjBFBx1ATCgCGQ8M7OTjSaJMDRDKIwYu5DrIMBgSAADKJTqhBhyRApAA3FAucZPPilokRJJFJxEVxCMCCgIA=="
oDCOCX_Exontrol1:[Description,exFilterBarExclude] := "<img>exclude</img>"
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Items")}
	var_Column:DisplayFilterButton := true
	var_Column:DisplayFilterPattern := false
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(h,nil,"Child 1")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:[Description,exFilterBarExclude] := "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Items")}
	var_Column:DisplayFilterButton := true
	var_Column:DisplayFilterPattern := false
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(h,nil,"Child 1")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems
local h,hChild as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Tasks")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
oDCOCX_Exontrol1:HeaderVisible := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Project")
	hChild := var_Items:InsertItem(h,nil,"Task 1")
	var_Items:[SelectItem,hChild] := true
	hChild := var_Items:InsertItem(h,nil,"Task 2")
	var_Items:[CellState,hChild,0] := 1
	hChild := var_Items:InsertItem(h,nil,"Task 3")
	var_Items:[CellState,hChild,0] := 1
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

1130
Can I sort the column by check-state

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:SortType := exSortByState
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(nil)
	var_Items:[CellState,var_Items:AddItem(nil),0] := 1
	var_Items:[CellState,var_Items:AddItem(nil),0] := 1
	var_Items:AddItem(nil)
oDCOCX_Exontrol1:Columns:[Item,0]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

1129
Can I sort the column by image

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column:SortType := exSortByImage
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellImage,var_Items:AddItem(nil),0] := 3
	var_Items:AddItem(nil)
	var_Items:[CellImage,var_Items:AddItem(nil),0] := 1
	var_Items:[CellImage,var_Items:AddItem(nil),0] := 2
oDCOCX_Exontrol1:Columns:[Item,0]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

1128
Can I sort the column by value(numeric)

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Value")}
	var_Column:[Def,exCellValueFormat] := 1
	var_Column:FormatColumn := "`<fgcolor=808080><off 4><font ;6> ` + (1 index ``)  + ` </font></off></fgcolor>` + value"
	var_Column:SortType := exSortByValue | SortNumeric
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("1")
	var_Items:AddItem("10")
	var_Items:AddItem("2")
	var_Items:AddItem("20")
oDCOCX_Exontrol1:Columns:[Item,0]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Editor as IEditor
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Editor := var_Column:Editor
		var_Editor:EditType := CheckValueType
		var_Editor:[Option,exCheckValue2] := 1
	var_Column:SortType := SortNumeric
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(true)
	var_Items:AddItem(false)
	var_Items:AddItem(false)
	var_Items:AddItem(true)
oDCOCX_Exontrol1:Columns:[Item,0]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1SelectionChanged() CLASS MainDialog
	// SelectionChanged event - Fired after a new item has been selected.
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		OutputDebugString(String2Psz( "pos: " ))
		OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:FocusItem,1] ))
		OutputDebugString(String2Psz( "rpos(1): " ))
		OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:FocusItem,2] ))
		OutputDebugString(String2Psz( "rpos(2): " ))
		OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:FocusItem,3] ))
		OutputDebugString(String2Psz( "apos: " ))
		OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:FocusItem,4] ))
		OutputDebugString(String2Psz( "index: " ))
		OutputDebugString(String2Psz( var_Items:[CellCaption,var_Items:FocusItem,5] ))
RETURN NIL

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local h,hSel as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Items")
	var_Column := IColumn{var_Columns:Add("pos")}
		var_Column:FormatColumn := "1 pos ``"
		var_Column:Position := 0
		var_Column:Width := 48
		var_Column:AllowSizing := false
	var_Column1 := IColumn{var_Columns:Add("rpos(1)")}
		var_Column1:FormatColumn := "1 rpos ``"
		var_Column1:Position := 1
		var_Column1:Width := 48
		var_Column1:AllowSizing := false
	var_Column2 := IColumn{var_Columns:Add("rpos(2)")}
		var_Column2:FormatColumn := "1 rpos `.||A-Z`"
		var_Column2:Position := 2
		var_Column2:Width := 48
		var_Column2:AllowSizing := false
	var_Column3 := IColumn{var_Columns:Add("apos")}
		var_Column3:FormatColumn := "1 apos ``"
		var_Column3:Position := 3
		var_Column3:Width := 48
		var_Column3:AllowSizing := false
	var_Column4 := IColumn{var_Columns:Add("index")}
		var_Column4:FormatColumn := "1 index ``"
		var_Column4:Position := 4
		var_Column4:Width := 48
		var_Column4:AllowSizing := false
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Item 1")
	var_Items:InsertItem(h,nil,"Child 1")
	hSel := var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	var_Items:AddItem("Item 2")
	var_Items:AddItem("Item 3")
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:Items:[SelectItem,hSel] := true

1125
How can I display UNICODE characters

local var_Items as IItems
local var_StdFont as stdFont

oDCOCX_Exontrol1:BeginUpdate()
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
var_StdFont := oDCOCX_Exontrol1:Font
	var_StdFont:Name := "Arial Unicode"
	var_StdFont:Size := 22
oDCOCX_Exontrol1:HeaderVisible := false
oDCOCX_Exontrol1:DefaultItemHeight := 48
IColumn{oDCOCX_Exontrol1:Columns:Add("")}:[Def,exCellValueFormat] := 1
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Ӓӓ")
	var_Items:AddItem("ᦜᦝ;ᦞ")
	var_Items:AddItem("ɮɭ;ɯ")
	var_Items:AddItem("勳勴勵勶")
	var_Items:[FormatCell,var_Items:AddItem(oDCOCX_Exontrol1:Version),0] := "(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "
oDCOCX_Exontrol1:EndUpdate()

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

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Items")}:FormatColumn := "((1 apos ``) lpad `00`) + `. `  + value"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
	var_Items:AddItem("Item D")
oDCOCX_Exontrol1:EndUpdate()

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

local var_Columns as IColumns
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:TreeColumnIndex := 0
oDCOCX_Exontrol1:MarkSearchColumn := false
oDCOCX_Exontrol1:FullRowSelect := exColumnSel
oDCOCX_Exontrol1:HeaderAppearance := 0xfffffff8 | Bump | Sunken
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("C1")}:Width := 32
	IColumn{var_Columns:Add("C2")}:FormatColumn := "1 index ``"
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Cell 1")
	var_Items:[CellSingleLine,h,1] := exCaptionWordWrap
	h := var_Items:AddItem("This is bit of text merges all cells in the item (divider shows no +/-)")
	var_Items:[ItemDivider,h] := 0
	var_Items:[ItemBackColor,h] := RGB(240,240,240)
	var_Items:[ItemDividerLine,h] := EmptyLine
	var_Items:[CellHAlignment,h,0] := CenterAlignment
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Cell 3")
	h := var_Items:AddItem("This is bit of text merges all cells in the item (merge shows +/-)")
	var_Items:[ItemBackColor,h] := RGB(240,240,240)
	var_Items:[CellMerge,h,0] := 1
	var_Items:InsertItem(h,nil,"Child 3")
	var_Items:InsertItem(h,nil,"Child 4")
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

1122
How can I define a column of button type

METHOD OCX_Exontrol1ButtonClick(Item,ColIndex,Key) CLASS MainDialog
	// ButtonClick event - Occurs when user clicks on the cell's button.
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		OutputDebugString(String2Psz( AsString(var_Items:[CellValue,Item,ColIndex]) ))
RETURN NIL

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Button")}
	var_Column:[Def,exCellHasButton] := true
	var_Column:[Def,exCellButtonAutoWidth] := false
	var_Column:FormatColumn := "``"
	var_Column:AllowSizing := false
	var_Column:Width := 48
IColumn{oDCOCX_Exontrol1:Columns:Add("Second")}:FormatColumn := "` Item ` + 1 index ``"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Button 1")
	var_Items:AddItem("Button 2")
	var_Items:AddItem("Button 3 ")
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1FilterChange() CLASS MainDialog
	// FilterChange event - Occurs when filter was changed.
	oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := oDCOCX_Exontrol1:FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",oDCOCX_Exontrol1:Columns:[Item,0]:FilterType,nil,nil)
RETURN NIL

local var_Appearance as IAppearance
local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:RenderType := -16777216
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x1000001
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:BackColorHeader := RGB(255,255,255)
oDCOCX_Exontrol1:HeaderVisible := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Filter")}
	var_Column:DisplayFilterButton := true
	var_Column:AllowSort := false
	var_Column:AllowDragging := false
	var_Column:FilterList := exShowCheckBox
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:Filter := "Item B"
	var_Column1:FilterType := exFilter
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exRowLines
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Values")}
	var_Column:[Def,exCellValueFormat] := 1
	var_Column:FormatColumn := "value + ` <off 4><fgcolor=808080>type(` + type(%0) + `)`"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(nil)
	var_Items:AddItem(-1)
	var_Items:AddItem("string")
	var_Items:AddItem(SToD("20010101"))
	var_Items:AddItem(2)
	var_Items:AddItem(true)
	var_Items:AddItem(12.34)
oDCOCX_Exontrol1:EndUpdate()

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

local var_ConditionalFormat as IConditionalFormat
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:Columns:Add("Values")
var_ConditionalFormat := oDCOCX_Exontrol1:ConditionalFormats:Add("type(%0) in (2,3,4,5,18,19,20,21)",nil)
	var_ConditionalFormat:ForeColor := RGB(255,0,0)
	var_ConditionalFormat:Bold := true
oDCOCX_Exontrol1:ConditionalFormats:Add("type(%0) = 11",nil):ForeColor := RGB(0,255,0)
oDCOCX_Exontrol1:ConditionalFormats:Add("type(%0) = 7",nil):ForeColor := RGB(0,0,255)
oDCOCX_Exontrol1:ConditionalFormats:Add("type(%0) in (0,1)",nil):BackColor := RGB(240,240,240)
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(nil)
	var_Items:AddItem(-1)
	var_Items:AddItem("string")
	var_Items:AddItem(SToD("20010101"))
	var_Items:AddItem(2)
	var_Items:AddItem(true)
	var_Items:AddItem(12.34)
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	local var_Items as IItems
	oDCOCX_Exontrol1:FreezeEvents(true)
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[CellValue,Item,1] := oDCOCX_Exontrol1:FormatABC("int(255*sin(value/2))",NewValue,nil,nil)
		var_Items:[CellValue,Item,2] := oDCOCX_Exontrol1:FormatABC("int(255*cos(value/2))",NewValue,nil,nil)
	oDCOCX_Exontrol1:FreezeEvents(false)
RETURN NIL

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exRowLines
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Value")}
	var_Column:Editor:EditType := SpinType
	var_Column:Width := 64
	var_Column:AllowSizing := false
IColumn{oDCOCX_Exontrol1:Columns:Add("Assign A")}:[Def,exCellBackColor] := 16448250
IColumn{oDCOCX_Exontrol1:Columns:Add("Assign B")}:[Def,exCellBackColor] := 16448250
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Computed")}
	var_Column:[Def,exCellBackColor] := 16448250
	var_Column:ComputedField := "%1 + %2"
	var_Column:FormatColumn := "value format ``"
	var_Column:Alignment := RightAlignment
	var_Column:HeaderAlignment := var_Column:Alignment
oDCOCX_Exontrol1:ConditionalFormats:Add("%3 >= 0",nil):Bold := true
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(1989)
	var_Items:AddItem(2001)
	var_Items:AddItem(2017)
	var_Items:AddItem(2018)
	var_Items:AddItem(2019)
oDCOCX_Exontrol1:EndUpdate()

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

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exRowLines
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Year")}
	var_Column:Editor:EditType := SpinType
	var_Column:Width := 64
	var_Column:AllowSizing := false
IColumn{oDCOCX_Exontrol1:Columns:Add("Easter")}:FormatColumn := "date(dateS('3/1/' + %0)  + ((1:=(((255 - 11 * (%0 mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((%0 + int(%0 / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(1989)
	var_Items:AddItem(2001)
	var_Items:AddItem(2017)
	var_Items:AddItem(2018)
	var_Items:AddItem(2019)
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column as IColumn
local var_ConditionalFormat as IConditionalFormat
local var_Editor as IEditor
local var_Items,var_Items1 as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_ConditionalFormat := oDCOCX_Exontrol1:ConditionalFormats:Add("(%0 >= 0)",nil)
	var_ConditionalFormat:Expression := "(0=type(%CD0)) and (%0 >= 0)"
	var_ConditionalFormat:Bold := true
	var_ConditionalFormat:ForeColor := RGB(255,0,0)
	OutputDebugString(String2Psz( "ConditionalFormat.Valid" ))
	OutputDebugString(String2Psz( AsString(var_ConditionalFormat:Valid) ))
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Numbers")}
	var_Editor := var_Column:Editor
		var_Editor:Numeric := exInteger
		var_Editor:EditType := SpinType
	var_Column:SortType := SortNumeric
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(100)
	var_Items:AddItem(-25)
	var_Items:AddItem(31)
	var_Items:AddItem(-48)
var_Items1 := oDCOCX_Exontrol1:Items
	h := var_Items1:AddItem("sum(all,dir,dbl(%0))")
	var_Items1:[SelectableItem,h] := false
	var_Items1:[SortableItem,h] := false
	var_Items1:[ItemBackColor,h] := RGB(240,240,240)
	var_Items1:[CellData,h,0] := "total"
	var_Items1:[CellValueFormat,h,0] := exTotalField | exHTML
	var_Items1:[FormatCell,h,0] := "'Total: <b><fgcolor=0000FF>'+(value format ``)"
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column as IColumn
local var_ConditionalFormat as IConditionalFormat
local var_Editor as IEditor
local var_Items,var_Items1 as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_ConditionalFormat := oDCOCX_Exontrol1:ConditionalFormats:Add("%0 >= 0",nil)
	var_ConditionalFormat:Bold := true
	var_ConditionalFormat:ForeColor := RGB(255,0,0)
	var_ConditionalFormat:ApplyTo := exFormatToColumns
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Numbers")}
	var_Editor := var_Column:Editor
		var_Editor:Numeric := exInteger
		var_Editor:EditType := SpinType
	var_Column:SortType := SortNumeric
IColumn{oDCOCX_Exontrol1:Columns:Add("Total")}:Visible := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exBottom] := 1
	h := var_Items:[LockedItem,exBottom,0]
	var_Items:[ItemDivider,h] := 1
	var_Items:[ItemDividerLine,h] := EmptyLine
	var_Items:[ItemBackColor,h] := RGB(240,240,240)
	var_Items:[CellValue,h,1] := "sum(all,dir,dbl(%0))"
	var_Items:[CellValueFormat,h,1] := exTotalField | exHTML
	var_Items:[CellHAlignment,h,1] := RightAlignment
	var_Items:[FormatCell,h,1] := "'Total: <b><fgcolor=0000FF>'+(value format ``)"
var_Items1 := oDCOCX_Exontrol1:Items
	var_Items1:AddItem(100)
	var_Items1:AddItem(-25)
	var_Items1:AddItem(31)
	var_Items1:AddItem(-48)
oDCOCX_Exontrol1:EndUpdate()

1114
ADODB Requery sample

METHOD OCX_Exontrol1ButtonClick(Item,ColIndex,Key) CLASS MainDialog
	// ButtonClick event - Occurs when user clicks on the cell's button.
	local cmd as _Command
	// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
	cmd := _Command{"ADODB.Command"}
		cmd:ActiveConnection := _Connection{oDCOCX_Exontrol1_Recordset{:DataSource}:ActiveConnection}
		cmd:CommandText := "INSERT INTO Orders (EmployeeID) VALUES(12345)"
		cmd:CommandType := 1
		cmd:Execute(nil,nil,0)
	_Recordset{oDCOCX_Exontrol1:DataSource}:Requery(0)
RETURN NIL

METHOD OCX_Exontrol1Error(Error,Description) CLASS MainDialog
	// Error event - Fired when an internal error occurs.
	OutputDebugString(String2Psz( AsString(Description) ))
RETURN NIL

local var_Items as IItems
local h as USUAL
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:ColumnAutoResize := false
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",1,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:ConditionalFormats:Add("%1=12345",nil):BackColor := RGB(240,240,240)
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exTop] := 1
	h := var_Items:[LockedItem,exTop,0]
	var_Items:[ItemDivider,h] := 0
	var_Items:[CellHasButton,h,0] := true
	var_Items:[CellValue,h,0] := "Requery (add a new record, using ADODB.Command)"
	var_Items:[CellHAlignment,h,0] := CenterAlignment
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1ButtonClick(Item,ColIndex,Key) CLASS MainDialog
	// ButtonClick event - Occurs when user clicks on the cell's button.
	local var_Recordset as _Recordset
	// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
	var_Recordset := _Recordset{oDCOCX_Exontrol1:DataSource}
		var_Recordset:AddNew("EmployeeID",123)
		var_Recordset:Update(nil,nil)
RETURN NIL

METHOD OCX_Exontrol1Error(Error,Description) CLASS MainDialog
	// Error event - Fired when an internal error occurs.
	OutputDebugString(String2Psz( AsString(Description) ))
RETURN NIL

local var_Items as IItems
local h as USUAL
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:ColumnAutoResize := false
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",1,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exTop] := 1
	h := var_Items:[LockedItem,exTop,0]
	var_Items:[ItemDivider,h] := 0
	var_Items:[CellHasButton,h,0] := true
	var_Items:[CellValue,h,0] := "AddNew"
	var_Items:[CellHAlignment,h,0] := CenterAlignment
oDCOCX_Exontrol1:DetectAddNew := true
oDCOCX_Exontrol1:DetectDelete := true
oDCOCX_Exontrol1:EndUpdate()

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

local var_Appearance as IAppearance
local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxPF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgpDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAMR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=")
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBaEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAqBYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeEmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==")
oDCOCX_Exontrol1:BackColorHeader := 0x1000000
oDCOCX_Exontrol1:ForeColorHeader := RGB(128,128,128)
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x2000000
oDCOCX_Exontrol1:[Background,exBackColorFilter] := RGB(255,255,255)
oDCOCX_Exontrol1:[Background,exForeColorFilter] := RGB(0,0,1)
oDCOCX_Exontrol1:[Background,exSelBackColorFilter] := 0x1ff8000
oDCOCX_Exontrol1:[Background,exSelForeColorFilter] := RGB(240,240,240)
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Filter")}
	var_Column:DisplayFilterButton := true
	var_Column:DisplayFilterPattern := false
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
	var_Column:[Def,exHeaderPaddingLeft] := 2
	var_Column:[Def,exHeaderPaddingRight] := 2
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("A")
	var_Items:AddItem("B")
	var_Items:AddItem("C")
	var_Items:AddItem("D")
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddItem(Item) CLASS MainDialog
	// AddItem event - Occurs after a new Item has been inserted to Items collection.
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
		var_Items:[CellFont,Item,1] := oDCOCX_Exontrol1:Columns:[Item,1]:Data
		var_Items:[CellBold,Item,1] := true
		var_Items:[CellForeColor,Item,1] := RGB(255,0,0)
RETURN NIL

local var_Column as IColumn
local var_Items as IItems
local f as stdFont

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:Columns:Add("C1")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("C2")}
	var_Column:HTMLCaption := "<b><font Tahoma;14>C2"
	f := stdFont{"StdFont"}
		f:Name := "Tahoma"
		f:Size := 11
	var_Column:Data := f
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem(10),1] := 11
	var_Items:[CellValue,var_Items:AddItem(12),1] := 13
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddItem(Item) CLASS MainDialog
	// AddItem event - Occurs after a new Item has been inserted to Items collection.
	local var_Items as IItems
	local f as stdFont
	var_Items := oDCOCX_Exontrol1:Items
		// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
		f := stdFont{"StdFont"}
			f:Name := "Tahoma"
			f:Size := 11
		var_Items:[CellFont,Item,1] := f
		var_Items:[CellBold,Item,1] := true
		var_Items:[CellForeColor,Item,1] := RGB(255,0,0)
RETURN NIL

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:Columns:Add("C1")
IColumn{oDCOCX_Exontrol1:Columns:Add("C2")}:HTMLCaption := "<b><font Tahoma;14>C2"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem(10),1] := 11
	var_Items:[CellValue,var_Items:AddItem(12),1] := 13
oDCOCX_Exontrol1:EndUpdate()

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

local var_ConditionalFormat as IConditionalFormat
local var_Items as IItems
local f as stdFont

oDCOCX_Exontrol1:BeginUpdate()
var_ConditionalFormat := oDCOCX_Exontrol1:ConditionalFormats:Add("1",nil)
	var_ConditionalFormat:Bold := true
	var_ConditionalFormat:ForeColor := RGB(255,0,0)
	// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
	f := stdFont{"StdFont"}
		f:Name := "Tahoma"
		f:Size := 11
	var_ConditionalFormat:Font := f
	var_ConditionalFormat:ApplyTo := 0x1 | 
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:Columns:Add("C1")
IColumn{oDCOCX_Exontrol1:Columns:Add("C2")}:HTMLCaption := "<b><font Tahoma;14>C2"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem(10),1] := 11
	var_Items:[CellValue,var_Items:AddItem(12),1] := 13
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1UserEditorClose(Object,Item,ColIndex) CLASS MainDialog
	// UserEditorClose event - Fired the user editor is about to be opened.
	// Items.CellValue(Item,ColIndex) = Object.Select("OrderID")

RETURN NIL

METHOD OCX_Exontrol1UserEditorOleEvent(Object,Ev,CloseEditor,Item,ColIndex) CLASS MainDialog
	// UserEditorOleEvent event - Occurs when an user editor fires an event.
	OutputDebugString(String2Psz( AsString(Ev) ))
RETURN NIL

METHOD OCX_Exontrol1UserEditorOpen(Object,Item,ColIndex) CLASS MainDialog
	// UserEditorOpen event - Occurs when an user editor is about to be opened.
	// Object.Select("OrderID") = Me.Items.CellValue(Item,ColIndex)

RETURN NIL

local var_Editor as IEditor
local var_Items as IItems
local h,var_Object as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:SortOnClick := exNoSort
var_Editor := IColumn{oDCOCX_Exontrol1:Columns:Add("Exontrol.ComboBox")}:Editor
	var_Editor:EditType := UserEditorType
	var_Editor:UserEditor("Exontrol.ComboBox","")
	var_Object := var_Editor:UserEditorObject
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:TreeColumnIndex := -1
oDCOCX_Exontrol1:DefaultItemHeight := 21
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("shows always the drop-down editor")
	var_Items:[CellHAlignment,h,0] := CenterAlignment
	var_Items:[ItemDivider,h] := 0
	var_Items:[ItemDividerLineAlignment,h] := DividerCenter
	var_Items:[SelectableItem,h] := false
	var_Items:[EnableItem,h] := false
	var_Items:[CellEditorVisible,var_Items:AddItem(10248),0] := exEditorVisible
	var_Items:[CellEditorVisible,var_Items:AddItem(10249),0] := exEditorVisible
	var_Items:[CellEditorVisible,var_Items:AddItem(10250),0] := exEditorVisible
	h := var_Items:AddItem("shows the drop-down editor when user clicks it")
	var_Items:[CellHAlignment,h,0] := CenterAlignment
	var_Items:[ItemDivider,h] := 0
	var_Items:[ItemDividerLineAlignment,h] := DividerCenter
	var_Items:[SelectableItem,h] := false
	var_Items:[EnableItem,h] := false
	var_Items:AddItem(10248)
	var_Items:AddItem(10249)
	var_Items:AddItem(10250)
oDCOCX_Exontrol1:EndUpdate()

1107
The ItemHeight property is not working (method 2)

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ScrollBySingleLine := true
IColumn{oDCOCX_Exontrol1:Columns:Add("Column")}:Width := 128
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellSingleLine,var_Items:AddItem("This is a bit of text that should break the line"),0] := exCaptionWordWrap
	h := var_Items:AddItem("")
	var_Items:[ItemDivider,h] := 0
	var_Items:[SelectableItem,h] := false
	var_Items:[ItemDividerLineAlignment,h] := DividerCenter
	var_Items:[ItemHeight,h] := 3
	var_Items:[CellSingleLine,var_Items:AddItem("This is a bit of text that should break the line"),0] := exCaptionWordWrap
oDCOCX_Exontrol1:EndUpdate()

1106
The ItemHeight property is not working (method 1)

local var_Column as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ScrollBySingleLine := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Column")}
	var_Column:Width := 128
	var_Column:[Def,exCellSingleLine] := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("This is a bit of text that should break the line")
	h := var_Items:AddItem("")
	var_Items:[ItemDivider,h] := 0
	var_Items:[SelectableItem,h] := false
	var_Items:[ItemDividerLineAlignment,h] := DividerCenter
	var_Items:[ItemMinHeight,h] := 3
	var_Items:[ItemMaxHeight,h] := 3
	var_Items:AddItem("This is a bit of text that should break the line")
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddGroupItem(Item) CLASS MainDialog
	// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ItemDividerLine,Item] := EmptyLine
		var_Items:[FormatCell,Item,var_Items:[GroupItem,Item]] := "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"
		var_Items:[CellValue,Item,"Min"] := "min(current,all,dbl(%6))"
		var_Items:[CellValueFormat,Item,"Min"] := exTotalField
		var_Items:[CellValue,Item,"Max"] := "max(current,all,dbl(%6))"
		var_Items:[CellValueFormat,Item,"Max"] := exTotalField
		var_Items:[CellValue,Item,"Sum"] := "sum(current,all,dbl(%6))"
		var_Items:[CellValueFormat,Item,"Sum"] := exTotalField
		var_Items:[ItemBackColor,Item] := RGB(240,240,240)
RETURN NIL

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local hL as USUAL
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HasLines := exNoLine
oDCOCX_Exontrol1:[Description,exColumnsFloatBar] := "Show/Hide"
oDCOCX_Exontrol1:ColumnsFloatBarSortOrder := SortAscending
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleIncludeCheckColumns
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:BackColorSortBar := RGB(240,240,240)
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:SingleSort := false
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
var_Columns := oDCOCX_Exontrol1:Columns
	var_Column := IColumn{var_Columns:Add("Min")}
		var_Column:Visible := false
		var_Column:AllowDragging := false
	var_Column := IColumn{var_Columns:Add("Max")}
		var_Column:Visible := false
		var_Column:Visible := false
		var_Column:AllowDragging := false
	var_Column1 := IColumn{var_Columns:Add("Sum")}
		var_Column1:Visible := false
		var_Column1:Visible := false
		var_Column1:AllowDragging := false
var_Column2 := oDCOCX_Exontrol1:Columns:[Item,"Freight"]
	var_Column2:FormatColumn := "currency(value)"
	var_Column2:[Def,exCellBackColor] := 12895487
	var_Column2:[Def,exHeaderBackColor] := var_Column2:[Def,exCellBackColor]
	var_Column2:HeaderBold := true
	var_Column2:AllowGroupBy := false
	var_Column2:Alignment := RightAlignment
oDCOCX_Exontrol1:ScrollBySingleLine := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exBottom] := 2
	hL := var_Items:[LockedItem,exBottom,0]
	var_Items:[ItemDivider,hL] := 0
	var_Items:[ItemHeight,hL] := 3
	var_Items:[ItemDividerLineAlignment,hL] := DividerTop
	var_Items:[ItemDividerLine,hL] := DoubleLine
	hL := var_Items:[LockedItem,exBottom,1]
	var_Items:[CellValue,hL,6] := "sum(all,rec,dbl(%6))"
	var_Items:[CellValueFormat,hL,6] := exTotalField
	var_Items:[ItemHeight,hL] := 24
	var_Items:[ItemBold,hL] := true
oDCOCX_Exontrol1:Columns:[Item,"EmployeeID"]:SortOrder := true
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddGroupItem(Item) CLASS MainDialog
	// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ItemDividerLine,Item] := EmptyLine
		var_Items:[FormatCell,Item,var_Items:[GroupItem,Item]] := "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"
		var_Items:[CellValue,Item,"Min"] := "min(current,all,dbl(%6))"
		var_Items:[CellValueFormat,Item,"Min"] := exTotalField
		var_Items:[CellValue,Item,"Max"] := "max(current,all,dbl(%6))"
		var_Items:[CellValueFormat,Item,"Max"] := exTotalField
		var_Items:[CellValue,Item,"Sum"] := "sum(current,all,dbl(%6))"
		var_Items:[CellValueFormat,Item,"Sum"] := exTotalField
		var_Items:[ItemBackColor,Item] := RGB(240,240,240)
RETURN NIL

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems
local hL as USUAL
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HasLines := exNoLine
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:BackColorSortBar := RGB(240,240,240)
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:SingleSort := false
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:Columns:[Item,1]:SortOrder := true
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Min")}:Visible := false
	IColumn{var_Columns:Add("Max")}:Visible := false
	IColumn{var_Columns:Add("Sum")}:Visible := false
var_Column := oDCOCX_Exontrol1:Columns:[Item,"Freight"]
	var_Column:[Def,exCellBackColor] := 12895487
	var_Column:[Def,exHeaderBackColor] := var_Column:[Def,exCellBackColor]
	var_Column:HeaderBold := true
	var_Column:AllowGroupBy := false
oDCOCX_Exontrol1:ScrollBySingleLine := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[LockedItemCount,exBottom] := 1
	hL := var_Items:[LockedItem,exBottom,0]
	var_Items:[ItemDivider,hL] := 0
	var_Items:[ItemHeight,hL] := 24
	var_Items:[ItemDividerLineAlignment,hL] := DividerTop
	var_Items:[ItemDividerLine,hL] := DoubleLine
	var_Items:[CellValue,hL,0] := "sum(all,rec,dbl(%6))"
	var_Items:[CellValueFormat,hL,0] := exTotalField | exHTML
	var_Items:[CellHAlignment,hL,0] := RightAlignment
	var_Items:[FormatCell,hL,0] := "'Freight: <bgcolor=FFC4C4> '+(value format ``) + ` `"
oDCOCX_Exontrol1:EndUpdate()

1103
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	IColumn{var_Columns:Add("Start")}:Visible := false
	IColumn{var_Columns:Add("End")}:Visible := false
oDCOCX_Exontrol1:[Description,exColumnsFloatBar] := "Show/Hide"
oDCOCX_Exontrol1:ColumnsFloatBarSortOrder := SortAscending
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleIncludeCheckColumns
oDCOCX_Exontrol1:EndUpdate()

1102
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	IColumn{var_Columns:Add("Start")}:Visible := false
	IColumn{var_Columns:Add("End")}:Visible := false
oDCOCX_Exontrol1:[Description,exColumnsFloatBar] := "Show"
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleIncludeHiddenColumns
oDCOCX_Exontrol1:ColumnsFloatBarSortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

1101
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	var_Columns:Add("Start")
	var_Columns:Add("End")
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oDCOCX_Exontrol1:BackColorSortBar := RGB(250,250,250)
oDCOCX_Exontrol1:[Description,exColumnsFloatBar] := "Group-By"
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleIncludeGroupByColumns
oDCOCX_Exontrol1:ColumnsFloatBarSortOrder := SortAscending
oDCOCX_Exontrol1:Columns:[Item,"City"]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()