Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 03:13   #1
MargoNik
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 32
По умолчанию неподвижные столбцы DBGrid

Здравствуйте,
в DBGrid выводится большое количество столбцов, которые само собой не помещаются на экран и приходится пользоваться полосой прокрутки, но первые 3 столбца необходимо всегда видеть перед глазами, как сделать их неподвижными?
MargoNik вне форума Ответить с цитированием
Старый 27.04.2010, 09:48   #2
М_Виктор
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 49
По умолчанию

Цитата:
Сообщение от MargoNik Посмотреть сообщение
Здравствуйте,
в DBGrid выводится большое количество столбцов, которые само собой не помещаются на экран и приходится пользоваться полосой прокрутки, но первые 3 столбца необходимо всегда видеть перед глазами, как сделать их неподвижными?
Использовать компонент DBGridEh из библиотеки EhLib.
Мне встречались ссылки на сайты, где "старенькую" версию EhLib 4.* можно скачать бесплатно.
М_Виктор вне форума Ответить с цитированием
Старый 27.04.2010, 11:32   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Вот что удалось нарыть по вопросу, может поможет:
Код:
unit Fcdgrid;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Grids, DBGrids, DBCtrls, DB, Menus;
type
TFixedColDBGrid = class(TDBGrid)
private
   FUserFixedCols: Integer;
protected
   procedure LayoutChanged; override;
   procedure SetUserFixedCols(I: Integer);
published
   property UserFixedCols: Integer read FUserFixedCols write SetUserFixedCols;
end;
procedure Register;
implementation
procedure Register;
begin
  RegisterComponents('Data Controls', [TFixedColDBGrid]);
end;
procedure TFixedColDBGrid.LayoutChanged;
begin
  inherited LayoutChanged; {   присваиваем FixedCols 1 если индикатор, иначе 0 }
  if ((inherited FixedCols + FUserFixedCols) < inherited ColCount) then
   inherited FixedCols := (FUserFixedCols + inherited FixedCols);
end;
procedure TFixedColDBGrid.SetUserFixedCols(I: Integer);
begin
  FUserFixedCols := I;
  LayoutChanged;
end;
end.
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть столбцы allichka Microsoft Office Excel 9 17.02.2010 08:16
Взаимосвязанный столбцы! nikolai_P Microsoft Office Access 0 19.06.2009 11:29
Поменять столбцы в массиве Wildstudent Паскаль, Turbo Pascal, PascalABC.NET 5 16.06.2009 16:33
как копировать столбцы BEKO83 Помощь студентам 1 09.02.2009 20:17