procedure TForm_Users.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form_Users.Destroy;
end;
procedure TForm_Users.Grid_UsersDblClick(Sender: TObject);
var ID, i : Integer;
begin
ID:=DMDB.AQ_UsersR.FieldByName('Код').AsInteger;
// принудительное "невидимое" раскрытие той ветки, на которой стоим
TreeViewDBD.OnExpanding(TreeViewDBD ,TreeViewDBD.Selected , Allow);
// Перебираем все получившиеся дочерние ветки и ищем ту, ID которой
// совпадает с ID строки в правой таблице. То есть ищем ветку в дереве,
// которая соответсвует той записи в таблице, на которой мы стоим
// Как только нашли, визуально раскрываем ветку и делаем ее выделенной,
// то есть визуально "встаем" на нее в дереве
FOR i:=0 To TreeViewDBD.Selected.Count-1 Do
IF Integer(TreeViewDBD.Selected.Item[i].Data) = ID Then
Begin
TreeViewDBD.Selected.Item[i].Expand(False);
TreeViewDBD.Selected.Item[i].Selected:=True;
TreeViewDBD.Repaint;
Exit;
End;
end;
begin
Form_Users.Destroy;
end;
procedure TForm_Users.Grid_UsersDblClick(Sender: TObject);
var ID, i : Integer;
begin
ID:=DMDB.AQ_UsersR.FieldByName('Код').AsInteger;
// принудительное "невидимое" раскрытие той ветки, на которой стоим
TreeViewDBD.OnExpanding(TreeViewDBD ,TreeViewDBD.Selected , Allow);
// Перебираем все получившиеся дочерние ветки и ищем ту, ID которой
// совпадает с ID строки в правой таблице. То есть ищем ветку в дереве,
// которая соответсвует той записи в таблице, на которой мы стоим
// Как только нашли, визуально раскрываем ветку и делаем ее выделенной,
// то есть визуально "встаем" на нее в дереве
FOR i:=0 To TreeViewDBD.Selected.Count-1 Do
IF Integer(TreeViewDBD.Selected.Item[i].Data) = ID Then
Begin
TreeViewDBD.Selected.Item[i].Expand(False);
TreeViewDBD.Selected.Item[i].Selected:=True;
TreeViewDBD.Repaint;
Exit;
End;
end;