Блог


Последние записи


Теги

Информация

Как получить активный cxGrid

добавлено: 16 июл 12
понравилось:0
просмотров: 1958
комментов: 0

теги:

Автор: X11

Сам грид может быть сфокусирован в разном месте, например, в момент редактирования, или в гриде может быть несколько View.

function GetActiveCxGrid(Obj: TObject): TcxGrid;
Var
  Val: TcxControl;
begin
  Result := nil;

  if not Assigned(Obj) then exit;
  if not (Obj  is TcxControl) then exit;

  Val := TcxControl(obj);

  if Val is TcxGridSite then
    Result := TcxGrid(TcxGridSite(Screen.ActiveControl).Container)
  else
    begin
      if Val is TcxCustomEdit then
        begin
          if TcxCustomEdit(Val).Parent is TcxGridSite then
            Result := TcxGrid(TcxGridSite(TcxCustomEdit(Screen.ActiveControl).Parent).Container);
        end
      else
        begin
          if (Val.Parent <> nil) and (Val.Parent is TcxCustomEdit) then
            if TcxCustomEdit(Val.Parent).Parent is TcxGridSite then
              Result := TcxGrid(TcxGridSite(TcxCustomEdit(Val.Parent).Parent).Container)
        end;
    end;
end;

Комментарии




Необходимо войти на сайт, чтобы оставлять комментарии