1261
|
Mask for Floating-Point Numbers (Emglish Style: . as Decimal, , as Grouping Separator)
with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exRowLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
SelForeColor := ForeColor;
SelBackColor := BackColor;
ShowFocusRect := False;
with (Columns.Add('Float(English-style)') as EXGRIDLib.Column) do
begin
SortType := EXGRIDLib.SortTypeEnum.SortNumeric;
FormatColumn := 'value format `3`';
HeaderAlignment := EXGRIDLib.AlignmentEnum.RightAlignment;
Alignment := EXGRIDLib.AlignmentEnum.RightAlignment;
with Editor do
begin
EditType := EXGRIDLib.EditTypeEnum.MaskType;
Mask := '!999,999,990.000;;;float,right,negative,grouping=\,,decimal=.';
end;
end;
with Items do
begin
AddItem(TObject(192278.12));
AddItem(TObject(2829.7));
AddItem(TObject(7391.55));
AddItem(TObject(50812.23));
AddItem(TObject(913.04));
AddItem(TObject(127500.88));
AddItem(TObject(62.19));
AddItem(TObject(1));
end;
EndUpdate();
end
|
1260
|
Mask for Floating-Point Numbers (German Style: , as Decimal, . as Grouping Separator)
with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exRowLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
SelForeColor := ForeColor;
SelBackColor := BackColor;
ShowFocusRect := False;
with (Columns.Add('Float(German-style)') as EXGRIDLib.Column) do
begin
SortType := EXGRIDLib.SortTypeEnum.SortNumeric;
FormatColumn := 'value format `3`';
HeaderAlignment := EXGRIDLib.AlignmentEnum.RightAlignment;
Alignment := EXGRIDLib.AlignmentEnum.RightAlignment;
with Editor do
begin
EditType := EXGRIDLib.EditTypeEnum.MaskType;
Mask := '!999.999.990,000;;;float,right,grouping=.,decimal=\,';
end;
end;
with Items do
begin
AddItem(TObject(192278.12));
AddItem(TObject(2829.7));
AddItem(TObject(7391.55));
AddItem(TObject(50812.23));
AddItem(TObject(913.04));
AddItem(TObject(127500.88));
AddItem(TObject(62.19));
AddItem(TObject(1));
end;
EndUpdate();
end
|
1259
|
Locks the first visible column on the left and the last visible column on the right

with AxGrid1 do
begin
BeginUpdate();
ColumnAutoResize := False;
BackColorLock := Color.FromArgb(192,192,192);
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
DrawGridLines := EXGRIDLib.GridLinesEnum.exVLines;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb',3,3,Nil);
end;
DataSource := (rs as ADODB.Recordset);
CountLockedColumns := 17;
EndUpdate();
end
|
1258
|
Lock the column on the right

with AxGrid1 do
begin
BeginUpdate();
ColumnAutoResize := False;
BackColorLock := Color.FromArgb(192,192,192);
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
DrawGridLines := EXGRIDLib.GridLinesEnum.exVLines;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb',3,3,Nil);
end;
DataSource := (rs as ADODB.Recordset);
CountLockedColumns := 16;
EndUpdate();
end
|
1257
|
Lock the column on the left

with AxGrid1 do
begin
BeginUpdate();
ColumnAutoResize := False;
BackColorLock := Color.FromArgb(192,192,192);
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
DrawGridLines := EXGRIDLib.GridLinesEnum.exVLines;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb',3,3,Nil);
end;
DataSource := (rs as ADODB.Recordset);
CountLockedColumns := 1;
EndUpdate();
end
|
1256
|
Update the item's lock state - pinning it to the top, bottom, or making it scrollable

with AxGrid1 do
begin
BeginUpdate();
Columns.Add('Column');
with Items do
begin
AddItem('un-locked item');
LockItem[AddItem('top-locked item')] := EXGRIDLib.LockItemEnum.exLockTop;
LockItem[AddItem('bottom-locked item')] := EXGRIDLib.LockItemEnum.exLockBottom;
end;
EndUpdate();
end
|
1255
|
The Change event is called before changing the value. Is there any event such as Changed that is called after updating the cell's value
// Changed event - Occurs after the user has changed the content of a cell.
procedure TWinForm1.AxGrid1_Changed(sender: System.Object; e: AxEXGRIDLib._IGridEvents_ChangedEvent);
begin
with AxGrid1 do
begin
OutputDebugString( Items.CellValue[TObject(e.item),TObject(e.colIndex)] );
end
end;
with AxGrid1 do
begin
BeginUpdate();
(Columns.Add('Edit') as EXGRIDLib.Column).Editor.EditType := EXGRIDLib.EditTypeEnum.EditType;
Items.AddItem('Item 1');
Items.AddItem('Item 2');
EndUpdate();
end
|
1254
|
How can I reposition the +/- (expand/collapse) icon to show as "number, icon, text" (sample 2)
// AnchorClick event - Occurs when an anchor element is clicked.
procedure TWinForm1.AxGrid1_AnchorClick(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AnchorClickEvent);
begin
with AxGrid1 do
begin
i := FormatABC('int(value)',TObject(e.anchorID),Nil,Nil);
with Items do
begin
i := ItemByIndex[i];
exp := ExpandItem[i];
ExpandItem[i] := False;
end;
end
end;
with AxGrid1 do
begin
BeginUpdate();
set_HTMLPicture('expand','gCJKBOI4NBQaBQAhQNJJIIhShQACERCAIA0RD7zf5hiIBOZSI5CACuZwcdMRAhnIJNIMKWKPBb8MIFiIJOBILJzhQOYc7YYBY5vVBkiIYOhFLB0KZvMx0O5hORlABQMJ' +
'pNx0FxOIpUEA1FwxFw3RbWe45iK2MpYJJmJJJFQABERmgaAM0AMRJURDd1AF3hUQhQoAIDvsRAURGIBw8ThRaiJpQ4EwsKNURyxgjsRzEKv1TqtXrNbrtfsIAwgASAHA' +
'GShQwGQzGABUGEzudAqgyWdSmWw2Fw+sABSHI4AGH1XAGAxGAwywlI6eRqjGi1YuaJJEIJUHBPYqSJYKQAwCBDKbBPbncBibrUKQjGLFQo+TBFfR5GaUAR/KbGICyRxs' +
'iCOQClgdJxGoMpkGycpdDqUZ0EoJQJHYVoWCSCA4kEbRlHKRwJiYcYCH0PBNB2JwYCaCRsGcE8LDyfZKg+U59EsAZMlQCgJkcEA9CsywkiKJwiFcIQwEEgI=');
set_HTMLPicture('collapse','gCJKBOI4NBQaBQAhQNJJIIhShQACERCAIA0RD7zf5hiIBOZSI5CACuZwcdMRAhnIJNIMKWKPBb8MIFiIJOBILJzhQOYU7YQBCooJSAiIYOhFLB0KZvMx0O5hORlABQMJ' +
'pNx0FxOIpUEA1FwxFw3RbWe45iK2MpYJJmJJJFQABERmgaAM0AMRJURDd1AF3hUQhQoAIDvsRAURGIBw8ThRaiJpQ4EwsKNURyzyO13dGEAGYzWcqlWrFarlesA3AGcS' +
'AHAGShQwGQzGABUGEv2TAAFUGS26Uy2GwuH1wAKQ5HAAw+s4YwGIwGGWISpVLiXT5MrxiJyJJEIJUHBPYqSXYOQAgBgAB6jJwufxxX7YYhdYhFCSsSwSC4uMLoQajNJA' +
'G8QgZAgSIqGMCwRBkAJDicGwuiMeoHGeaRFlAU5qDwQQ6A+CYnlgPQeisGJfl4AJYhsRISjQYwJHIcpmmALAtlMEpkE4YBREmEpPBAARdicSw8AES5fi+fI5g+PpcAAU' +
'JKgyCYknaZRrssJIiicIhXCEMBBICA==');
set_HTMLPicture('empty','gCJKBOI4NBQaBQAhQNJJIIhShQACERCAIA0RD7zf5hiIBOZSI5CACuZwcdMRAhnIJNIMKWKPBb8MIFiIJOBILJzhQOYE7YABNTWRIJiIYOhFLB0KZvMx0O5hORlABQMJ' +
'pNx0FxOIpUEA1FwxFw3RbWe45iK2MpYJJmJJJFQABERmgaAM0AMRJURDd1AF3hUQhQoAIDvsRAURGIBw8ThRaiJpQ4EwsKNURyy/O13dGEAGYzWcqlWrFarlesA3AGcS' +
'AHAGShQwGQzGABUGEv2TAAFUGS26Uy2GwuH1wAKQ5HAAw+s4YwGIwGGWYSvDpndpkQ9xhRTJJEIJUHBPdqSGIKYAwBgDUpCfytH57FqoVaTKQTGS0DJ6cDBDzOGwIfAN' +
'HMIxJDmf5CFIAxwA4Q5HEQVJlEWRxnBkMANjsPoqBSEAElkfZ5CMFJMHCC52BALBGjkDpHCuXIAB2bQdEGaQgFIbbLCSIonCIVwhDAQSAg==');
HeaderVisible := False;
HasLines := EXGRIDLib.HierarchyLineEnum.exNoLine;
HasButtons := EXGRIDLib.ExpandButtonEnum.exNoButtons;
Indent := 12;
DefaultItemHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exHLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
GridLineColor := Color.FromArgb(204,204,204);
ShowFocusRect := False;
ExpandOnDblClick := False;
ExpandOnKeys := False;
with Columns do
begin
with (Add('Item') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exCellValueFormat] := TObject(1);
FormatColumn := '(len(parent(1 index ``)) ? (`<b><fgcolor gray>` + (1 pos ``) + `. ` + `</fgcolor></b>` + (%CC0 ? (`<a ` + (0 index ``) + `>`) : ' +
'``) + `<img>` + (%CC0 ? (not %CX0 ? `expand` : `collapse`) : `empty`) + `:16</img>` + (%CC0 ? (`</a>`) : ``)) : ``) + ` ` + valu' +
'e';
with Editor do
begin
EditType := EXGRIDLib.EditTypeEnum.EditType;
Option[EXGRIDLib.EditorOptionEnum.exEditorAdjustPos] := '32 4 -4 -4';
end;
end;
end;
with Items do
begin
hRoot := AddItem('ACME Corporation');
SelectableItem[hRoot] := False;
ExpandItem[hRoot] := True;
h := InsertItem(hRoot,Nil,'Management');
InsertItem(h,Nil,'CEO - Alice Brown');
InsertItem(h,Nil,'COO - James Lee');
h := InsertItem(hRoot,Nil,'HR Department');
InsertItem(h,Nil,'Recruiter - Jane Smith');
InsertItem(h,Nil,'HR Assistant - Bob Green');
ExpandItem[h] := True;
h := InsertItem(h,Nil,'Engineering');
InsertItem(h,Nil,'Software Team');
h := InsertItem(h,Nil,'Lead Developer - Mark H.');
InsertItem(h,Nil,'Frontend Dev - Emily R.');
InsertItem(h,Nil,'Backend Dev - Tom W.');
InsertItem(hRoot,Nil,'QA Team');
end;
EndUpdate();
end
|
1253
|
How can I reposition the +/- (expand/collapse) icon to show as "number, icon, text" (sample 1)

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TWinForm1.AxGrid1_AnchorClick(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AnchorClickEvent);
begin
with AxGrid1 do
begin
i := FormatABC('int(value)',TObject(e.anchorID),Nil,Nil);
with Items do
begin
i := ItemByIndex[i];
exp := ExpandItem[i];
ExpandItem[i] := False;
end;
end
end;
with AxGrid1 do
begin
BeginUpdate();
set_HTMLPicture('expand','gCJKBOI4NBQaBQAhQNJJIIhShQACERCAIA0RD7zf5hiIBOZSI5CACuZwcdMRAhnIJNIMKWKPBb8MIFiIJOBILJzhQOYc7YYBY5vVBkiIYOhFLB0KZvMx0O5hORlABQMJ' +
'pNx0FxOIpUEA1FwxFw3RbWe45iK2MpYJJmJJJFQABERmgaAM0AMRJURDd1AF3hUQhQoAIDvsRAURGIBw8ThRaiJpQ4EwsKNURyxgjsRzEKv1TqtXrNbrtfsIAwgASAHA' +
'GShQwGQzGABUGEzudAqgyWdSmWw2Fw+sABSHI4AGH1XAGAxGAwywlI6eRqjGi1YuaJJEIJUHBPYqSJYKQAwCBDKbBPbncBibrUKQjGLFQo+TBFfR5GaUAR/KbGICyRxs' +
'iCOQClgdJxGoMpkGycpdDqUZ0EoJQJHYVoWCSCA4kEbRlHKRwJiYcYCH0PBNB2JwYCaCRsGcE8LDyfZKg+U59EsAZMlQCgJkcEA9CsywkiKJwiFcIQwEEgI=');
set_HTMLPicture('collapse','gCJKBOI4NBQaBQAhQNJJIIhShQACERCAIA0RD7zf5hiIBOZSI5CACuZwcdMRAhnIJNIMKWKPBb8MIFiIJOBILJzhQOYU7YQBCooJSAiIYOhFLB0KZvMx0O5hORlABQMJ' +
'pNx0FxOIpUEA1FwxFw3RbWe45iK2MpYJJmJJJFQABERmgaAM0AMRJURDd1AF3hUQhQoAIDvsRAURGIBw8ThRaiJpQ4EwsKNURyzyO13dGEAGYzWcqlWrFarlesA3AGcS' +
'AHAGShQwGQzGABUGEv2TAAFUGS26Uy2GwuH1wAKQ5HAAw+s4YwGIwGGWISpVLiXT5MrxiJyJJEIJUHBPYqSXYOQAgBgAB6jJwufxxX7YYhdYhFCSsSwSC4uMLoQajNJA' +
'G8QgZAgSIqGMCwRBkAJDicGwuiMeoHGeaRFlAU5qDwQQ6A+CYnlgPQeisGJfl4AJYhsRISjQYwJHIcpmmALAtlMEpkE4YBREmEpPBAARdicSw8AES5fi+fI5g+PpcAAU' +
'JKgyCYknaZRrssJIiicIhXCEMBBICA==');
HeaderVisible := False;
HasLines := EXGRIDLib.HierarchyLineEnum.exNoLine;
HasButtons := EXGRIDLib.ExpandButtonEnum.exNoButtons;
Indent := 12;
DefaultItemHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exHLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
GridLineColor := Color.FromArgb(204,204,204);
ShowFocusRect := False;
ExpandOnDblClick := False;
ExpandOnKeys := False;
with Columns do
begin
with (Add('Item') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exCellValueFormat] := TObject(1);
FormatColumn := '(len(parent(1 index ``)) ? (`<b><fgcolor gray>` + (1 pos ``) + `. ` + `</fgcolor></b>` + `<a ` + (0 index ``) + `><img>` + (%CC0' +
' ? (not %CX0 ? `expand` : `collapse`) : ``) + `:16</img></a>`) : ``) + ` ` + value';
end;
end;
with Items do
begin
hRoot := AddItem('ACME Corporation');
SelectableItem[hRoot] := False;
ExpandItem[hRoot] := True;
h := InsertItem(hRoot,Nil,'Management');
InsertItem(h,Nil,'CEO - Alice Brown');
InsertItem(h,Nil,'COO - James Lee');
h := InsertItem(hRoot,Nil,'HR Department');
InsertItem(h,Nil,'Recruiter - Jane Smith');
InsertItem(h,Nil,'HR Assistant - Bob Green');
ExpandItem[h] := True;
h := InsertItem(h,Nil,'Engineering');
InsertItem(h,Nil,'Software Team');
h := InsertItem(h,Nil,'Lead Developer - Mark H.');
InsertItem(h,Nil,'Frontend Dev - Emily R.');
InsertItem(h,Nil,'Backend Dev - Tom W.');
InsertItem(hRoot,Nil,'QA Team');
end;
EndUpdate();
end
|
1252
|
Expandable bullet list

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TWinForm1.AxGrid1_AnchorClick(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AnchorClickEvent);
begin
with AxGrid1 do
begin
i := FormatABC('int(value)',TObject(e.anchorID),Nil,Nil);
with Items do
begin
i := ItemByIndex[i];
exp := ExpandItem[i];
ExpandItem[i] := False;
end;
end
end;
with AxGrid1 do
begin
BeginUpdate();
set_HTMLPicture('expand','gCJKBOI4NBQaBQAhQNJJIIhShQACERCAIA0RD7zf5hiIBOZSI5CACuZwcdMRAhnIJNIMKWKPBb8MIFiIJOBILJzhQOYM7YIBXCRNbtiIYOhFLB0KZvMx0O5hORlABQMJ' +
'pNx0FxOIpUEA1FwxFw3RbWe45iK2MpYJJmJJJFQABERmgaAM0AMRJURDd1AF3hUQhQoAIDvsRAURGIBw8ThRaiJpQ4EwsKNURyzZO13dGEAGYzWcqlWrFarlesA3AGcS' +
'AHAGShQwGQzGABUGEv2TAAFUGS26Uy2GwuH1wAKQ5HAAw+s4YwGIwGGWNa6awbST7DBTiLyJJEIJUHBPUqSGJuYYwCAES5pBiQfyEX4QKAFH6QSihJQ/GZlET1FhIcgG' +
'nUdoVHMmxajSIghlMKhsGiAAFggQ5dmKcRHEUEhbFAFQBgacABmAAJgAAcAJkAZgNjUcwDFecYcD8QoIDsGJjD6aYaGyHI7mqLRfgGfBcg+TYggkEhakQThtFsEpAE2X' +
'h7goSIJiSHp6haKgPGOXx3j+c5hiKLpri6JAPHWYJREuFJkBCYxcFeYS7ikJQzG0ZIVGKMBYGsVwXDWVQHjqfpjAoYpyE4Z5vH2YoHDkZwzkkUxHC8pwCgifIHBCdk4G' +
'MLQVmcXJVhicxWi4IIUiKSQ1A8cBUj+eBEGCFQlFSIophiPRkFAWBLFALhwm+HhKjARpmgSGwNn4AIUCcZZUFEKoVmwywkiKJwiFcIQwEEgI');
set_HTMLPicture('collapse','gCJKBOI4NBQaBQAhQNJJIIhShQACERCAIA0RD7zf5hiIBOZSI5CACuZwcdMRAhnIJNIMKWKPBb8MIFiIJOBILJzhQOYM7YIBXCRNbtiIYOhFLB0KZvMx0O5hORlABQMJ' +
'pNx0FxOIpUEA1FwxFw3RbWe45iK2MpYJJmJJJFQABERmgaAM0AMRJURDd1AF3hUQhQoAIDvsRAURGIBw8ThRaiJpQ4EwsKNURyzZO13dGEAGYzWcqlWrFarlesA3AGcS' +
'AHAGShQwGQzGABUGEv2TAAFUGS26Uy2GwuH1wAKQ5HAAw+s4YwGIwGGWNa6awbST7DBTiLZJJEIJUHBPdpSGKOAQxCAzGhIBKfbAvUBsSIPbiVMhLTxJPK3banJB0N5s' +
'A8VQRlmCRKjSCRaAIOgCiORISiWaI0DYLJPBYJBxB+LAqAMBRgAsIABjAAhYAOEB5kKDQ5kGZoaCaL5vH2KoEDCbpbDaWRrE8SopE+AA/DcMoZkgAgkhKERDlcdYEHAJ' +
'Rzg4IpyCAKRyl6HZLGONwMEMb5clwWB3n2CZki6FoWC4cwQCbGYukKwhiAwOp3HIEJFGCNBGDyLArE8R56n4RUnlOShHGcXJdgcKQlCOSRdEcLw8DmAoInyexvFeMRGG' +
'0DARmsbRZmsfRxleFZeHoD4eEKKRxGmPANgAC5xDAWpYHMW4uCGywkiKJwiFcIQwEEgI');
HeaderVisible := False;
HasLines := EXGRIDLib.HierarchyLineEnum.exNoLine;
HasButtons := EXGRIDLib.ExpandButtonEnum.exNoButtons;
Indent := 12;
DefaultItemHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exHLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
GridLineColor := Color.FromArgb(204,204,204);
ShowFocusRect := False;
ExpandOnDblClick := False;
ExpandOnKeys := False;
with Columns do
begin
with (Add('Item') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exCellValueFormat] := TObject(1);
FormatColumn := '(len(parent(1 index ``)) ? (`<b><fgcolor gray>` + (1 pos ``) + `. ` + `</fgcolor></b>` + `<a ` + (0 index ``) + `><img>` + (%CC0' +
' ? (not %CX0 ? `expand` : `collapse`) : `collapse`) + `:16</img></a>`) : ``) + ` ` + value';
with Editor do
begin
EditType := EXGRIDLib.EditTypeEnum.EditType;
Option[EXGRIDLib.EditorOptionEnum.exEditorAdjustPos] := '32D 4D -4D -4D';
end;
end;
end;
with Items do
begin
hRoot := AddItem('ACME Corporation');
SelectableItem[hRoot] := False;
ExpandItem[hRoot] := True;
h := InsertItem(hRoot,Nil,'Management');
InsertItem(h,Nil,'CEO - Alice Brown');
InsertItem(h,Nil,'COO - James Lee');
h := InsertItem(hRoot,Nil,'HR Department');
InsertItem(h,Nil,'Recruiter - Jane Smith');
InsertItem(h,Nil,'HR Assistant - Bob Green');
ExpandItem[h] := True;
h := InsertItem(h,Nil,'Engineering');
InsertItem(h,Nil,'Software Team');
h := InsertItem(h,Nil,'Lead Developer - Mark H.');
InsertItem(h,Nil,'Frontend Dev - Emily R.');
InsertItem(h,Nil,'Backend Dev - Tom W.');
InsertItem(hRoot,Nil,'QA Team');
end;
EndUpdate();
end
|
1251
|
Does grouping support multi-column sorting

with AxGrid1 do
begin
BeginUpdate();
SingleSort := False;
HeaderVisible := False;
DrawGridLines := EXGRIDLib.GridLinesEnum.exRowLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
AllowGroupBy := True;
Columns.Add('Prefix');
Columns.Add('Region');
Columns.Add('City');
with (Columns.Add('Sort') as EXGRIDLib.Column) do
begin
ComputedField := '%1 + %2';
Visible := False;
end;
with Items do
begin
h := AddItem('+33');
CellValue[TObject(h),TObject(1)] := 'Corsica';
CellValue[TObject(h),TObject(2)] := 'Bastia ';
h := AddItem('+33');
CellValue[TObject(h),TObject(1)] := 'Occitanie';
CellValue[TObject(h),TObject(2)] := 'Toulouse ';
h := AddItem('+33');
CellValue[TObject(h),TObject(1)] := 'Corsica';
CellValue[TObject(h),TObject(2)] := 'Ajaccio';
h := AddItem('+33');
CellValue[TObject(h),TObject(1)] := 'Occitanie';
CellValue[TObject(h),TObject(2)] := 'Carcassonne ';
end;
Layout := 'multiplesort="C0:2";singlesort="C3:1";';
EndUpdate();
end
|
1250
|
How can I vertically scroll the control
with AxGrid1 do
begin
BeginUpdate();
ColumnAutoResize := False;
DataSource := ((ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120')) as DAO.PrivDBEngine).OpenDatabase('C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb',Nil,Nil,Nil).OpenRecordset('Orders',Nil,Nil,Nil) as DAO.Recordset2);
Layout := 'Collapse="";VScroll=10';
EndUpdate();
end
|
1249
|
Export the items as a two-dimensional array

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
PutItems(Export('array','all'),Nil);
EndUpdate();
end
|
1248
|
Export only expanded items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(expanded)') );
end
|
1247
|
Export only selectable, sortable leaf items that are neither locked nor dividers

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(leaf,sortable,selectable,!divider,!locked)') );
end
|
1246
|
Export only non-divider items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(!divider)') );
end
|
1245
|
Export only selectable items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(selectable)') );
end
|
1244
|
Export only sortable, but not locked items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(sortable,!locked)') );
end
|
1243
|
Export only checked items on specified column

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(checked[0])') );
end
|
1242
|
Export only filtered, not locked or divider items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(visible,!locked,!divider)') );
end
|
1241
|
Export only selected items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(selected)') );
end
|
1240
|
Export only locked items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','only(locked)') );
end
|
1239
|
Export the leaf items of the control, excluding parent or grouped items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','leaf') );
end
|
1238
|
Export all checked and visible items (the first column in the columns list specifies the index of the column used to query the checkbox state)

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','chk') );
end
|
1237
|
Export the selected-items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','sel') );
end
|
1236
|
Export the visible items, excluding child items of collapsed elements, non-visible items (such as those with a height of 0), and items that do not match the current filter

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','vis') );
end
|
1235
|
Export all items, including the hidden or collapsed items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
ScrollBySingleLine := True;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
with Columns do
begin
with (Add('Desc') as EXGRIDLib.Column) do
begin
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
FormatColumn := 'currency(value)';
end;
end;
with Items do
begin
LockedItemCount[EXGRIDLib.VAlignmentEnum.exTop] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exTop,0];
CellValue[TObject(h),TObject(0)] := 'All';
CellValue[TObject(h),TObject(1)] := 'sum(all,rec,%1)';
CellValueFormat[TObject(h),TObject(1)] := EXGRIDLib.ValueFormatEnum.exTotalField;
r := AddItem('Root 1');
g1 := InsertItem(r,Nil,'Group A');
CellValue[TObject(InsertItem(g1,Nil,'Item 1')),TObject(1)] := TObject(1);
CellValue[TObject(InsertItem(g1,Nil,'Item 2')),TObject(1)] := TObject(2);
CellState[TObject(ItemByIndex[3]),TObject(0)] := 1;
g2 := InsertItem(r,Nil,'Group B');
CellValue[TObject(InsertItem(g2,Nil,'Item 3')),TObject(1)] := TObject(3);
CellValue[TObject(InsertItem(g2,Nil,'Item 4')),TObject(1)] := TObject(4);
ExpandItem[g1] := True;
ExpandItem[r] := True;
h := AddItem('divider');
ItemDivider[h] := 0;
SelectableItem[h] := False;
SortableItem[h] := False;
ItemHeight[h] := 1;
r := AddItem('Root 2');
g1 := InsertItem(r,Nil,'Group C');
CellValue[TObject(InsertItem(g1,Nil,'Item 5')),TObject(1)] := TObject(5);
CellValue[TObject(InsertItem(g1,Nil,'Item 6')),TObject(1)] := TObject(6);
SelectItem[ItemByIndex[2]] := True;
end;
EndUpdate();
OutputDebugString( Export('','all') );
end
|
1234
|
Bolds only the expanded items

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
ConditionalFormats.Add('%CX0',Nil).Bold := True;
Columns.Add('Description');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(InsertItem(h,Nil,'Child 2'),Nil,'Sub-Child 2');
CellState[TObject(InsertItem(h,Nil,'Child 3')),TObject(0)] := 1;
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
end;
EndUpdate();
end
|
1233
|
Displays the root item's index and value/caption using expressions

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
AutoDrag := EXGRIDLib.AutoDragEnum.exAutoDragPositionAny;
AllowCopyPaste := Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowPaste) Or Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowCut) Or Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowCopy);
SingleSel := False;
DrawGridLines := EXGRIDLib.GridLinesEnum.exRowLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
GridLineColor := Color.FromArgb(208,208,208);
ConditionalFormats.Add('%CC0 and %CX0',Nil).Bold := True;
with ConditionalFormats.Add('1',Nil) do
begin
Bold := True;
ApplyTo := EXGRIDLib.FormatApplyToEnum($2);
end;
with (Columns.Add('Description') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
PartialCheck := True;
end;
with (Columns.Add('Index') as EXGRIDLib.Column) do
begin
FormatColumn := '1 index ``';
Position := 0;
Width := 16;
end;
with (Columns.Add('Root-Index') as EXGRIDLib.Column) do
begin
FormatColumn := 'root(1 index ``)';
Position := 1;
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellBackColor] := TObject(15790320);
end;
with (Columns.Add('Root-Value') as EXGRIDLib.Column) do
begin
FormatColumn := 'root(%0)';
Position := 2;
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellBackColor] := TObject(15790320);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(InsertItem(h,Nil,'Child 2'),Nil,'Sub-Child 2');
CellState[TObject(InsertItem(h,Nil,'Child 3')),TObject(0)] := 1;
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
1232
|
Displays the parent item's index and caption/value using expressions

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
AutoDrag := EXGRIDLib.AutoDragEnum.exAutoDragPositionAny;
AllowCopyPaste := Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowPaste) Or Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowCut) Or Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowCopy);
SingleSel := False;
DrawGridLines := EXGRIDLib.GridLinesEnum.exRowLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesSolid;
GridLineColor := Color.FromArgb(208,208,208);
ConditionalFormats.Add('%CC0 and %CX0',Nil).Bold := True;
with ConditionalFormats.Add('1',Nil) do
begin
Bold := True;
ApplyTo := EXGRIDLib.FormatApplyToEnum($2);
end;
with (Columns.Add('Description') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
PartialCheck := True;
end;
with (Columns.Add('Index') as EXGRIDLib.Column) do
begin
FormatColumn := '1 index `I`';
Position := 0;
Width := 16;
end;
with (Columns.Add('Parent-Index') as EXGRIDLib.Column) do
begin
FormatColumn := 'parent(1 index `I`)';
Position := 1;
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellBackColor] := TObject(15790320);
end;
with (Columns.Add('Parent-Value') as EXGRIDLib.Column) do
begin
FormatColumn := 'parent(%0)';
Position := 2;
Width := 32;
Def[EXGRIDLib.DefColumnEnum.exCellBackColor] := TObject(15790320);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(InsertItem(h,Nil,'Child 2'),Nil,'Sub-Child 2');
CellState[TObject(InsertItem(h,Nil,'Child 3')),TObject(0)] := 1;
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
1231
|
Copying and Pasting the Selection Programmatically
with AxGrid1 do
begin
BeginUpdate();
Columns.Add('Tasks');
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
SingleSel := False;
with Items do
begin
AddItem('Tasks');
SelectItem[AddItem('Task 1')] := True;
SelectItem[AddItem('Task 2')] := True;
end;
IndentSelection(TObject(False));
CopySelection();
Items.UnselectAll();
Paste(Nil);
EndUpdate();
end
|
1230
|
Enable Copy, Cut and Paste Clipboard operations
with AxGrid1 do
begin
BeginUpdate();
Columns.Add('Tasks');
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
AllowCopyPaste := Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowPaste) Or Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowCut) Or Integer(EXGRIDLib.AllowCopyPasteEnum.exAllowCopy);
SingleSel := False;
with Items do
begin
AddItem('Tasks');
SelectItem[AddItem('Task 1')] := True;
SelectItem[AddItem('Task 2')] := True;
end;
IndentSelection(TObject(False));
EndUpdate();
end
|
1229
|
Adjusts the hierarchy of selected items by changing their parent

with AxGrid1 do
begin
BeginUpdate();
Columns.Add('Tasks');
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
SingleSel := False;
with Items do
begin
AddItem('Tasks');
SelectItem[AddItem('Task A')] := True;
SelectItem[AddItem('Task B')] := True;
end;
IndentSelection(TObject(False));
EndUpdate();
end
|
1228
|
Specify the size of the Columns panel

with AxGrid1 do
begin
BeginUpdate();
HeaderHeight := 24;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
with Columns do
begin
Add('City');
(Add('Start') as EXGRIDLib.Column).Visible := False;
(Add('End') as EXGRIDLib.Column).Visible := False;
end;
ColumnsFloatBarRect := ',,96';
ColumnsFloatBarVisible := Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleAsChild) Or Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns);
EndUpdate();
end
|
1227
|
Show a vertical line between pivot and Columns panel (EBN color)

with AxGrid1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABRsIQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFICQTIcBhaGIZRiAKCRTDmHwyRCNIwCLD8QxtDqBY4gOZZXh' +
'al4cJTgMaBYi+Pw3DZHcbvBRkewzHQAKgnSjoDhEMg1CTVVYTDKdOSzDyEX7sIAACpOIZQVJVEY1VT8cyxIyEZimSypWqiYJ0Ty6cQwTAIgI');
set_Background(EXGRIDLib.BackgroundPartEnum.exColumnsFloatBackColor,$1000000);
HeaderHeight := 24;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
with Columns do
begin
Add('City');
(Add('Start') as EXGRIDLib.Column).Visible := False;
(Add('End') as EXGRIDLib.Column).Visible := False;
end;
ColumnsFloatBarVisible := Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleAsChild) Or Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns);
EndUpdate();
end
|
1226
|
Change the background of the Columns panel (EBN color)

with AxGrid1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ' +
'0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNA' +
'gqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpT' +
'lWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+B' +
'ZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlE' +
'kVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4' +
'kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBq' +
'OIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA');
set_Background(EXGRIDLib.BackgroundPartEnum.exColumnsFloatBackColor,$1000000);
HeaderHeight := 24;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
with Columns do
begin
Add('City');
(Add('Start') as EXGRIDLib.Column).Visible := False;
(Add('End') as EXGRIDLib.Column).Visible := False;
end;
ColumnsFloatBarVisible := Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleAsChild) Or Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns);
EndUpdate();
end
|
1225
|
Change the background of the Columns panel (solid color)

with AxGrid1 do
begin
BeginUpdate();
HeaderHeight := 24;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
with Columns do
begin
Add('City');
(Add('Start') as EXGRIDLib.Column).Visible := False;
(Add('End') as EXGRIDLib.Column).Visible := False;
end;
ColumnsFloatBarVisible := Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleAsChild) Or Integer(EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns);
set_Background(EXGRIDLib.BackgroundPartEnum.exColumnsFloatBackColor,$f0f0f0);
EndUpdate();
end
|
1224
|
Change the visual appearance of the Columns panel

with AxGrid1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ' +
'0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNA' +
'gqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpT' +
'lWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+B' +
'ZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlE' +
'kVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4' +
'kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBq' +
'OIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA');
set_Background(EXGRIDLib.BackgroundPartEnum.exColumnsFloatAppearance,$1000000);
set_Background(EXGRIDLib.BackgroundPartEnum.exColumnsFloatCaptionBackColor,$f6f6f6);
(GetOcx() as EXGRIDLib.Grid).BackColorHeader := $1000000;
HeaderHeight := 24;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
with Columns do
begin
Add('City');
(Add('Start') as EXGRIDLib.Column).Visible := False;
(Add('End') as EXGRIDLib.Column).Visible := False;
end;
set_Description(EXGRIDLib.DescriptionTypeEnum.exColumnsFloatBar,'Show/Hide');
ColumnsFloatBarVisible := EXGRIDLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns;
EndUpdate();
end
|
1223
|
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (ditto mark)

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exRowLines;
(Columns.Add('Country') as EXGRIDLib.Column).ShowIdem := '<fgcolor gray>〃';
with Items do
begin
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
end;
EndUpdate();
end
|
1222
|
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (space)

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exRowLines;
(Columns.Add('Country') as EXGRIDLib.Column).ShowIdem := ' ';
with Items do
begin
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
end;
EndUpdate();
end
|
1221
|
Displays a glitch funnel for drop-down filter buttons (empty or active)

with AxGrid1 do
begin
BeginUpdate();
with VisualAppearance do
begin
RenderType := -1;
Add(1,'gBFLBCJwBAEHhEJAAEhABa8IQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFMbxCKQahLEiTIhGUYJHgmK4tRiAUgxVDkBxrECZYqjcBZOi' +
'wLQ2TxDM7DNKUCBnIoABhGOaYDh+IQNQjUFKwTRFGRxK4EIRKAyTDLQdRyGSMMbjdQpBCbMiMRqhESKRq2UwYRYCFS1NalaztO6BUAvK67YrWez/YBfF+SfwGeqDYReW' +
'APfgWERnQrGMLxbD8KwZAKTRjkGJ4XhuB41TbQMqufL9ByXHKSSDpGjaXjeO5VVjYNAvS69UzXNq3bhtQAOXCMEwCgI=');
Add(2,'CP:1 -2 0 0 0');
end;
DrawGridLines := EXGRIDLib.GridLinesEnum.exAllLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesGeometric;
ShowFocusRect := False;
set_Background(EXGRIDLib.BackgroundPartEnum.exHeaderFilterBarButton,$2000000);
set_Background(EXGRIDLib.BackgroundPartEnum.exHeaderFilterBarActive,$2000001);
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
BackColorHeader := Color.FromArgb(255,255,255);
HeaderHeight := 24;
HeaderVisible := True;
with (Columns.Add('1st col') as EXGRIDLib.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
Filter := 'Item B';
FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
end;
Columns.Add('2nd col');
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
ApplyFilter();
EndUpdate();
end
|
1220
|
How can I store any extra data associated with a cell
// ButtonClick event - Occurs when user clicks on the cell's button.
procedure TWinForm1.AxGrid1_ButtonClick(sender: System.Object; e: AxEXGRIDLib._IGridEvents_ButtonClickEvent);
begin
with AxGrid1 do
begin
OutputDebugString( Items.CellData[TObject(e.item),TObject(e.colIndex)] );
end
end;
with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
with (Columns.Add('Def') as EXGRIDLib.Column).Editor do
begin
EditType := EXGRIDLib.EditTypeEnum.ButtonType;
Locked := True;
end;
with Items do
begin
CellData[TObject(AddItem('Cell 1')),TObject(0)] := 'your extra data for cell 1';
CellData[TObject(AddItem('Cell 2')),TObject(0)] := 'your extra data for cell 2';
end;
EndUpdate();
end
|
1219
|
How can I replace or add an icon at runtime

with AxGrid1 do
begin
BeginUpdate();
ReplaceIcon('gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+Ok' +
'YB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==',Nil);
ReplaceIcon('C:\images\favicon.ico',TObject(0));
(Columns.Add('Items') as EXGRIDLib.Column).Def[EXGRIDLib.DefColumnEnum.exCellValueFormat] := TObject(1);
Items.AddItem('Item <img>1</img>');
EndUpdate();
end
|
1218
|
How can I save the changes, such as column's width, order

// Click event - Occurs when the user presses and then releases the left mouse button over the grid control.
procedure TWinForm1.AxGrid1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
with AxGrid1 do
begin
Layout := 'Select="0";SingleSort="C0:2";Columns=1';
end
end;
with AxGrid1 do
begin
BeginUpdate();
Columns.Add('Column');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
end;
EndUpdate();
end
|
1217
|
How can I add totals to groups without having to go through the AddGroupItem grid function

with AxGrid1 do
begin
FreezeEvents(True);
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with ConditionalFormats do
begin
with Add('%CT1',Nil) do
begin
ForeColor := $808080;
ApplyTo := EXGRIDLib.FormatApplyToEnum($1);
end;
with Add('%CT2',Nil) do
begin
ForeColor := $808080;
ApplyTo := EXGRIDLib.FormatApplyToEnum($2);
end;
with Add('%CT3',Nil) do
begin
ForeColor := $808080;
ApplyTo := EXGRIDLib.FormatApplyToEnum($3);
end;
end;
with Columns do
begin
Add('Description');
with (Add('Qty') as EXGRIDLib.Column) do
begin
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
end;
with (Add('Price') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'avg(current,rec,%2)';
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
ComputedField := '%1 * %2';
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%3)';
end;
end;
with Items do
begin
r := AddItem('Root');
g1 := InsertItem(r,Nil,'Group 1');
h := InsertItem(g1,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(1);
CellValue[TObject(h),TObject(2)] := TObject(10);
h := InsertItem(g1,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(2);
CellValue[TObject(h),TObject(2)] := TObject(11);
g2 := InsertItem(r,Nil,'Group 2');
h := InsertItem(g2,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(3);
CellValue[TObject(h),TObject(2)] := TObject(12);
h := InsertItem(g2,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(4);
CellValue[TObject(h),TObject(2)] := TObject(13);
ExpandItem[0] := True;
end;
EndUpdate();
FreezeEvents(False);
end
|
1216
|
How can I configure the filters in the text columns to search by content

with AxGrid1 do
begin
BeginUpdate();
FilterBarPromptVisible := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
HeaderAppearance := EXGRIDLib.AppearanceEnum.None2;
FilterBarPromptType := EXGRIDLib.FilterPromptEnum.exFilterPromptContainsAll;
Columns.Add('Names');
with Items do
begin
AddItem('Mantel');
AddItem('Mechanik');
AddItem('Motor');
AddItem('Murks');
AddItem('Märchen');
AddItem('Möhren');
AddItem('Mühle');
AddItem('Sérigraphie');
end;
FilterBarPromptPattern := 'a';
EndUpdate();
end
|
1215
|
How can I display the control's captions in Spanish

with AxGrid1 do
begin
BeginUpdate();
FilterBarPromptVisible := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
HeaderAppearance := EXGRIDLib.AppearanceEnum.None2;
set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAll,'(todo) ');
set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarFilterForCaption,'filtrar por...');
FilterBarPrompt := '<i><fgcolor=808080>iniciar filtro...</fgcolor></i>';
with (Columns.Add('Names') as EXGRIDLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXGRIDLib.FilterTypeEnum.exPattern;
end;
with Items do
begin
AddItem('Mantel');
AddItem('Mechanik');
AddItem('Motor');
AddItem('Murks');
AddItem('Märchen');
AddItem('Möhren');
AddItem('Mühle');
AddItem('Sérigraphie');
end;
EndUpdate();
end
|
1214
|
How can I zoom in the control

with AxGrid1 do
begin
BeginUpdate();
s1 := 16;
s2 := FormatABC('2 * value',TObject(s1),Nil,Nil);
ImageSize := s2;
DefaultItemHeight := s2;
HeaderHeight := s2;
SortBarHeight := s2;
Indent := s2;
Font.Size := s1;
FilterBarFont.Size := s1;
ToolTipFont.Size := s1;
FilterBarPromptVisible := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
HeaderAppearance := EXGRIDLib.AppearanceEnum.None2;
with (Columns.Add('Names') as EXGRIDLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXGRIDLib.FilterTypeEnum.exPattern;
end;
with Items do
begin
AddItem('Mantel');
AddItem('Mechanik');
AddItem('Motor');
AddItem('Murks');
AddItem('Märchen');
AddItem('Möhren');
AddItem('Mühle');
AddItem('Sérigraphie');
end;
EndUpdate();
end
|
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

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with (Columns.Add('Items') as EXGRIDLib.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := True;
Def[EXGRIDLib.DefColumnEnum.exFilterPatternTemplate] := '*<%filter%>*';
FilterType := EXGRIDLib.FilterTypeEnum.exPattern;
Filter := '1';
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
end;
ApplyFilter();
EndUpdate();
end
|
1212
|
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exAllLines;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesGeometric;
ColumnAutoResize := False;
Columns.Add('Column 1');
Columns.Add('Column 2');
Columns.Add('Column 3');
Columns.Add('Column 4');
EndUpdate();
end
|
1211
|
Load data as a tree using a parent-id relationship

with AxGrid1 do
begin
BeginUpdate();
ColumnAutoResize := False;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
DrawGridLines := EXGRIDLib.GridLinesEnum.exVLines;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset')) as ADODB.Recordset);
with rs do
begin
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,Nil);
end;
DataSource := (rs as ADODB.Recordset);
Columns.Item[TObject(0)].Width := 128;
rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset')) as ADODB.Recordset);
with rs do
begin
Open('Employees','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb',3,3,Nil);
end;
PutItems(rs.GetRows(Nil,Nil,Nil),';0;17');
Items.ExpandItem[0] := True;
EndUpdate();
end
|
1210
|
Is there a way to change the contents of the drop down editor based on a value in another column

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TWinForm1.AxGrid1_AddItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AddItemEvent);
begin
with AxGrid1 do
begin
Items.CellEditorVisible[TObject(e.item),TObject(0)] := EXGRIDLib.EditorVisibleEnum.exEditorVisible;
Items.CellEditorVisible[TObject(e.item),TObject(1)] := EXGRIDLib.EditorVisibleEnum.exEditorVisible;
end
end;
// EditOpen event - Occurs when the edit operation starts.
procedure TWinForm1.AxGrid1_EditOpen(sender: System.Object; e: System.EventArgs);
begin
with AxGrid1 do
begin
with Items do
begin
v := CellValue[TObject(FocusItem),TObject(0)];
c := CellCaption[TObject(FocusItem),TObject(0)];
end;
with Columns.Item[TObject(1)].Editor do
begin
ClearItems();
AddItem(v,c,Nil);
end;
end
end;
with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
GridLineStyle := EXGRIDLib.GridLinesStyleEnum.exGridLinesGeometric;
with (Columns.Add('DropDownList') as EXGRIDLib.Column) do
begin
with Editor do
begin
EditType := EXGRIDLib.EditTypeEnum.DropDownListType;
AddItem(1,'First',Nil);
AddItem(2,'Second',Nil);
AddItem(3,'Third',Nil);
end;
end;
DrawGridLines := EXGRIDLib.GridLinesEnum.exAllLines;
(Columns.Add('DropDownList-Related') as EXGRIDLib.Column).Editor.EditType := EXGRIDLib.EditTypeEnum.DropDownListType;
with Items do
begin
CellValue[TObject(AddItem(TObject(1))),TObject(1)] := TObject(-1);
CellValue[TObject(AddItem(TObject(2))),TObject(1)] := TObject(-1);
CellValue[TObject(AddItem(TObject(3))),TObject(1)] := TObject(-1);
LockedItemCount[EXGRIDLib.VAlignmentEnum.exBottom] := 1;
h := LockedItem[EXGRIDLib.VAlignmentEnum.exBottom,0];
ItemDivider[h] := 0;
ItemDividerLineAlignment[h] := EXGRIDLib.DividerAlignmentEnum.DividerTop;
CellEditorVisible[TObject(h),TObject(0)] := EXGRIDLib.EditorVisibleEnum.exEditorHidden;
CellSingleLine[TObject(h),TObject(0)] := EXGRIDLib.CellSingleLineEnum.exCaptionWordWrap;
CellValueFormat[TObject(h),TObject(0)] := EXGRIDLib.ValueFormatEnum.exHTML;
CellValue[TObject(h),TObject(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.';
end;
EndUpdate();
end
|
1209
|
Highlight the editable fields

// Change event - Occurs when the user changes the cell's content.
procedure TWinForm1.AxGrid1_Change(sender: System.Object; e: AxEXGRIDLib._IGridEvents_ChangeEvent);
begin
with AxGrid1 do
begin
Refresh();
end
end;
with AxGrid1 do
begin
FreezeEvents(True);
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with ConditionalFormats do
begin
with Add('%CE1',Nil) do
begin
Bold := True;
BackColor := $f5f5f5;
ApplyTo := EXGRIDLib.FormatApplyToEnum($1);
end;
with Add('%CE2',Nil) do
begin
Bold := True;
BackColor := $f5f5f5;
ApplyTo := EXGRIDLib.FormatApplyToEnum($2);
end;
with Add('%CE3',Nil) do
begin
Bold := True;
BackColor := $f5f5f5;
ApplyTo := EXGRIDLib.FormatApplyToEnum($3);
end;
end;
with Columns do
begin
Add('Description');
with (Add('Qty') as EXGRIDLib.Column) do
begin
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
end;
with (Add('Price') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'avg(current,rec,%2)';
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
ComputedField := '%1 * %2';
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%3)';
end;
end;
with Items do
begin
r := AddItem('Root');
g1 := InsertItem(r,Nil,'Group 1');
h := InsertItem(g1,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(1);
CellValue[TObject(h),TObject(2)] := TObject(10);
h := InsertItem(g1,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(2);
CellValue[TObject(h),TObject(2)] := TObject(11);
g2 := InsertItem(r,Nil,'Group 2');
h := InsertItem(g2,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(3);
CellValue[TObject(h),TObject(2)] := TObject(12);
h := InsertItem(g2,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(4);
CellValue[TObject(h),TObject(2)] := TObject(13);
ExpandItem[0] := True;
end;
EndUpdate();
FreezeEvents(False);
end
|
1208
|
Highlight the total fields

// Change event - Occurs when the user changes the cell's content.
procedure TWinForm1.AxGrid1_Change(sender: System.Object; e: AxEXGRIDLib._IGridEvents_ChangeEvent);
begin
with AxGrid1 do
begin
Refresh();
end
end;
with AxGrid1 do
begin
FreezeEvents(True);
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with ConditionalFormats do
begin
with Add('%CT1',Nil) do
begin
ForeColor := $808080;
ApplyTo := EXGRIDLib.FormatApplyToEnum($1);
end;
with Add('%CT2',Nil) do
begin
ForeColor := $808080;
ApplyTo := EXGRIDLib.FormatApplyToEnum($2);
end;
with Add('%CT3',Nil) do
begin
ForeColor := $808080;
ApplyTo := EXGRIDLib.FormatApplyToEnum($3);
end;
end;
with Columns do
begin
Add('Description');
with (Add('Qty') as EXGRIDLib.Column) do
begin
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
end;
with (Add('Price') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'avg(current,rec,%2)';
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
ComputedField := '%1 * %2';
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%3)';
end;
end;
with Items do
begin
r := AddItem('Root');
g1 := InsertItem(r,Nil,'Group 1');
h := InsertItem(g1,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(1);
CellValue[TObject(h),TObject(2)] := TObject(10);
h := InsertItem(g1,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(2);
CellValue[TObject(h),TObject(2)] := TObject(11);
g2 := InsertItem(r,Nil,'Group 2');
h := InsertItem(g2,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(3);
CellValue[TObject(h),TObject(2)] := TObject(12);
h := InsertItem(g2,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(4);
CellValue[TObject(h),TObject(2)] := TObject(13);
ExpandItem[0] := True;
end;
EndUpdate();
FreezeEvents(False);
end
|
1207
|
Highlight the leaf items

with AxGrid1 do
begin
BeginUpdate();
ConditionalFormats.Add('%CC0=0',Nil).ForeColor := $808080;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with Columns do
begin
(Add('Item') as EXGRIDLib.Column).Width := 16;
Add('Desc');
end;
with Items do
begin
hR := AddItem('Root');
CellValue[TObject(hR),TObject(1)] := 'The root directory /';
ExpandItem[hR] := True;
h := InsertItem(hR,Nil,'Home');
CellValue[TObject(h),TObject(1)] := 'The home directory with user directories Alice and Bob';
InsertItem(h,Nil,'Alice');
InsertItem(h,Nil,'Bob');
ExpandItem[h] := True;
h := InsertItem(hR,Nil,'Etc');
CellValue[TObject(h),TObject(1)] := 'The etc directory with one configuration file';
h := InsertItem(h,Nil,'nginx.conf');
CellValue[TObject(InsertItem(hR,Nil,'Var')),TObject(1)] := 'The var directory';
end;
EndUpdate();
end
|
1206
|
Highlight the parent items

with AxGrid1 do
begin
BeginUpdate();
ConditionalFormats.Add('%CC0',Nil).ForeColor := $ff;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with Columns do
begin
(Add('Item') as EXGRIDLib.Column).Width := 16;
Add('Desc');
end;
with Items do
begin
hR := AddItem('Root');
CellValue[TObject(hR),TObject(1)] := 'The root directory /';
ExpandItem[hR] := True;
h := InsertItem(hR,Nil,'Home');
CellValue[TObject(h),TObject(1)] := 'The home directory with user directories Alice and Bob';
InsertItem(h,Nil,'Alice');
InsertItem(h,Nil,'Bob');
ExpandItem[h] := True;
h := InsertItem(hR,Nil,'Etc');
CellValue[TObject(h),TObject(1)] := 'The etc directory with one configuration file';
h := InsertItem(h,Nil,'nginx.conf');
CellValue[TObject(InsertItem(hR,Nil,'Var')),TObject(1)] := 'The var directory';
end;
EndUpdate();
end
|
1205
|
Highlight the item being expanded or collapsed

with AxGrid1 do
begin
BeginUpdate();
ConditionalFormats.Add('%CX0',Nil).Bold := True;
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with Columns do
begin
(Add('Item') as EXGRIDLib.Column).Width := 16;
Add('Desc');
end;
with Items do
begin
hR := AddItem('Root');
CellValue[TObject(hR),TObject(1)] := 'The root directory /';
ExpandItem[hR] := True;
h := InsertItem(hR,Nil,'Home');
CellValue[TObject(h),TObject(1)] := 'The home directory with user directories Alice and Bob';
InsertItem(h,Nil,'Alice');
InsertItem(h,Nil,'Bob');
ExpandItem[h] := True;
h := InsertItem(hR,Nil,'Etc');
CellValue[TObject(h),TObject(1)] := 'The etc directory with one configuration file';
h := InsertItem(h,Nil,'nginx.conf');
CellValue[TObject(InsertItem(hR,Nil,'Var')),TObject(1)] := 'The var directory';
end;
EndUpdate();
end
|
1204
|
I am using exTotalColumn. Is there an option to exclude specific cells to display the total

// Change event - Occurs when the user changes the cell's content.
procedure TWinForm1.AxGrid1_Change(sender: System.Object; e: AxEXGRIDLib._IGridEvents_ChangeEvent);
begin
with AxGrid1 do
begin
Refresh();
end
end;
with AxGrid1 do
begin
FreezeEvents(True);
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with Columns do
begin
Add('Description');
with (Add('Qty') as EXGRIDLib.Column) do
begin
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
end;
with (Add('Price') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'avg(current,rec,%2)';
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
ComputedField := '%1 * %2';
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%3)';
end;
end;
with Items do
begin
r := AddItem('Root');
g1 := InsertItem(r,Nil,'Group 1');
FormatCell[TObject(g1),TObject(2)] := '`<average missing>`';
CellEditorVisible[TObject(g1),TObject(2)] := EXGRIDLib.EditorVisibleEnum.exEditorHidden;
CellBold[TObject(g1),TObject(2)] := True;
CellForeColor[TObject(g1),TObject(2)] := $ff;
h := InsertItem(g1,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(1);
CellValue[TObject(h),TObject(2)] := TObject(10);
h := InsertItem(g1,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(2);
CellValue[TObject(h),TObject(2)] := TObject(11);
g2 := InsertItem(r,Nil,'Group 2');
h := InsertItem(g2,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(3);
CellValue[TObject(h),TObject(2)] := TObject(12);
h := InsertItem(g2,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(4);
CellValue[TObject(h),TObject(2)] := TObject(13);
ExpandItem[0] := True;
end;
EndUpdate();
FreezeEvents(False);
end
|
1203
|
How can I add a total column

// Change event - Occurs when the user changes the cell's content.
procedure TWinForm1.AxGrid1_Change(sender: System.Object; e: AxEXGRIDLib._IGridEvents_ChangeEvent);
begin
with AxGrid1 do
begin
Refresh();
end
end;
with AxGrid1 do
begin
FreezeEvents(True);
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
HeaderHeight := 24;
LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
with Columns do
begin
Add('Description');
with (Add('Qty') as EXGRIDLib.Column) do
begin
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%1)';
end;
with (Add('Price') as EXGRIDLib.Column) do
begin
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'avg(current,rec,%2)';
Editor.EditType := EXGRIDLib.EditTypeEnum.SpinType;
end;
with (Add('Amount') as EXGRIDLib.Column) do
begin
ComputedField := '%1 * %2';
Def[EXGRIDLib.DefColumnEnum.exTotalColumn] := 'sum(current,rec,%3)';
end;
end;
with Items do
begin
r := AddItem('Root');
g1 := InsertItem(r,Nil,'Group 1');
h := InsertItem(g1,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(1);
CellValue[TObject(h),TObject(2)] := TObject(10);
h := InsertItem(g1,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(2);
CellValue[TObject(h),TObject(2)] := TObject(11);
g2 := InsertItem(r,Nil,'Group 2');
h := InsertItem(g2,Nil,'Item 1');
CellValue[TObject(h),TObject(1)] := TObject(3);
CellValue[TObject(h),TObject(2)] := TObject(12);
h := InsertItem(g2,Nil,'Item 2');
CellValue[TObject(h),TObject(1)] := TObject(4);
CellValue[TObject(h),TObject(2)] := TObject(13);
ExpandItem[0] := True;
end;
EndUpdate();
FreezeEvents(False);
end
|
1202
|
Is it possible to disable sizing(size) the column
with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
DrawGridLines := EXGRIDLib.GridLinesEnum.exVLines;
with (Columns.Add('32px') as EXGRIDLib.Column) do
begin
Width := 32;
AllowSizing := False;
end;
Columns.Add('Rest');
ColumnAutoResize := True;
EndUpdate();
end
|
1201
|
How can I add two columns of 25% and the third of 50%

with AxGrid1 do
begin
BeginUpdate();
HeaderAppearance := EXGRIDLib.AppearanceEnum.Etched;
DrawGridLines := EXGRIDLib.GridLinesEnum.exVLines;
(Columns.Add('25%') as EXGRIDLib.Column).Width := 25;
(Columns.Add('25%') as EXGRIDLib.Column).Width := 25;
(Columns.Add('50%') as EXGRIDLib.Column).Width := 50;
ColumnAutoResize := True;
EndUpdate();
end
|