EhLib.Com
https://forum.ehlib.com/en/

How to change the data group GroupLevels field by coding
https://forum.ehlib.com/en/viewtopic.php?f=5&t=1210
Page 1 of 1

Author:  ituneksa [ 01 Apr 2023, 22:11 ]
Post subject:  How to change the data group GroupLevels field by coding

Hi

How to set the data group GroupLevels for one field (company) and for two fields (company & ShipVIA) by coding

Best Regards

Attachments:
ehlib.jpg
ehlib.jpg [ 148.03 KiB | Viewed 1266 times ]

Author:  ituneksa [ 03 Apr 2023, 11:59 ]
Post subject:  Re: How to change the data group GroupLevels field by coding

Solution found in :
viewtopic.php?f=5&t=633#p1402

Author:  EhLibSupport [ 05 Apr 2023, 15:29 ]
Post subject:  Re: How to change the data group GroupLevels field by coding

Hello

Here are some examples of working with groups at runtime.
In the last example grouping by two fields.

Code:
//Activate DataGrouping
procedure TForm1.Button1Click(Sender: TObject);
begin
  DBGridEh1.DataGrouping.Active := True;
  DBGridEh1.DataGrouping.GroupPanelVisible := True;
end;

//Add GroupLevel for 'Continent' Field
procedure TForm1.Button2Click(Sender: TObject);
var
  gl: TGridDataGroupLevelEh;
begin
  gl := DBGridEh1.DataGrouping.GroupLevels.Add();
  gl.Column := DBGridEh1.FieldColumns['Continent'];
  //Expand all nodes of the First Level
  DBGridEh1.DataGrouping.GroupLevels[0].ExpandNodes;
end;

//Delete first GroupLevel
procedure TForm1.Button3Click(Sender: TObject);
begin
  if (DBGridEh1.DataGrouping.GroupLevels.Count > 0) then
    DBGridEh1.DataGrouping.GroupLevels.Delete(0);
end;

//Replace Field for the first GroupLevel
procedure TForm1.Button4Click(Sender: TObject);
begin
  if DBGridEh1.DataGrouping.GroupLevels.Count = 0 then Exit;

  if (TColumnEh(DBGridEh1.DataGrouping.GroupLevels[0].Column).FieldName = 'Continent')
    then DBGridEh1.DataGrouping.GroupLevels[0].Column := DBGridEh1.FieldColumns['Capital']
    else DBGridEh1.DataGrouping.GroupLevels[0].Column := DBGridEh1.FieldColumns['Continent'];

  //Expand all nodes of the First Level
  DBGridEh1.DataGrouping.GroupLevels[0].ExpandNodes;
end;

//Add several GroupLevels
procedure TForm1.Button5Click(Sender: TObject);
begin
  DBGridEh1.DataGrouping.GroupLevels.BeginUpdate;
  DBGridEh1.DataGrouping.GroupLevels.Clear;

  DBGridEh1.DataGrouping.GroupLevels.Add().Column := DBGridEh1.FieldColumns['Continent'];
  DBGridEh1.DataGrouping.GroupLevels.Add().Column := DBGridEh1.FieldColumns['Capital'];

  DBGridEh1.DataGrouping.GroupLevels.EndUpdate;

  //Expand all nodes of the First Level
  DBGridEh1.DataGrouping.GroupLevels[0].ExpandNodes;
end;

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/