Добрый день.
Данный код должен работать корректно т.к. при выборе в гриде групповой записи
грид переводит текущую позицию в DataSet'е на первую запись которая отображается в группе.
Можно использовать следующий более "системный" код:
type
TDBGridEhCrack = class(TDBGridEh);
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
RecDataNode: TGroupDataTreeNodeEh;
begin
if (DBGridEh1.DataGrouping.CurDataNode.NodeType = dntDataGroupEh) then
begin
RecDataNode := DBGridEh1.DataGrouping.CurDataNode.Items[0];
if RecDataNode.NodeType = dntDataSetRecordEh then
begin
TDBGridEhCrack(DBGridEh1).CheckSetCurGroupDataNode(RecDataNode, True);
end;
end;
end;