Delphi - база знаний


Как зафиксировать один или несколько столбцов в TDBGrid с возможностью навигации по этим столбцам?


Как зафиксировать один или несколько столбцов в TDBGrid с возможностью навигации по этим столбцам?




procedureTDbGridEx.ColEnter;

procedure ProcessColEnter;
begin
 // -----------------------------------------------------------
 if (SelectedIndex  _Mark) then
   begin
     ColumnMoved(Columns.Count, StaticCol + 1);
     SelectedField := Fields[StaticCol];
   end;
   Exit;
 end;

 // -----------------------------------------------------------
 if (SelectedIndex > StaticCol) then
 begin

   if _LastSelectedIndex = StaticCol then
   begin
     if _Mark = Columns[SelectedIndex].Title.Caption then

     begin
       ColumnMoved(StaticCol + 1, Columns.Count);
       SelectedField := Fields[Columns.Count - 1];
     end
       else
     begin
       ColumnMoved(StaticCol + 1, Columns.Count);
       SelectedField := Fields[StaticCol];
     end;
   end;

 end;
end;

begin
 if (_EntryCol > 0) or _MouseDown or (StaticCol = 0) then
 begin
   _MouseDown := FALSE;
 end else
 begin
   inc(_EntryCol);
   ProcessColEnter;
   dec(_EntryCol);
 end;

 if Assigned(OnColEnter) then OnColEnter(Self);

 _LastSelectedIndex := SelectedIndex;
end;
Автор: Ramil Galiev
(2:5085/33.11)


Автор:

StayAtHome

Взято из





Начало  Назад  Вперед



Книжный магазин