Вниз
Скачать: CL | DM;

Как правильно выравнить колонки в DBGridEh   Найти похожие ветки 

 
DelphiLexx ©   (2007-04-04 16:35) [0]

В моём DBGridEh"e есть несколько колонок. Все колонки, кроме первой, имеют своство AutoFitColWidth = True. Первая колонка имеет следующие размеры MyDBGrid.Columns[0].Width = 180
Необходимо сделать так, чтобы в оставшейся области грида т.е.
MyDBGrid.Width - 180 оставшиеся колонки имели одинаковую ширину. Я делаю так:

procedure
 TMyForm.EvenColumnsDynDBGrid(DBGrid: TDBGridEh);
var
 i: integer;
 k: integer;
 SeizeArea: integer;
 AColWidth: integer;
begin

 if DBGrid <> nil then
 begin
   SeizeArea := 180;
   DBGrid.Columns[0].Width := SeizeArea;
   if DBGrid.Columns.Count > 1 then
   begin
     AColWidth  := Trunc((DBGrid.Width - SeizeArea) /
     DBGrid.Columns.Count)
     for i := 1 to DBGrid.Columns.Count - 1 do
       DBGrid.Columns[i].Width := AColWidth
   end;
 end;
end;


 
DelphiLexx ©   (2007-04-04 16:39) [1]


> Я делаю так:

Но колонки криво выравниваются


 
Amoeba ©   (2007-04-04 16:50) [2]

Установи только 1-й колонки AutoFitColWidth = True, а у остальных в False и ручками задай им нужную тебе одинаковую ширину.


 
DelphiLexx ©   (2007-04-04 17:13) [3]


> Установи только 1-й колонки AutoFitColWidth = True, а у
> остальных в False и ручками задай им нужную тебе одинаковую
> ширину.

Так мне нужно, чтобы все колонки, кромк первой, имели AutoFitColWidth = True


 
{RASkov}   (2007-04-04 17:42) [4]

Примерно можно так, некоторые вещи не учтены, но думаю догадаешься что.

type TMyGrid = class(TCustomDBGrid);
procedure TForm1.Button1Click(Sender: TObject);
const FIRSTW = 180;
var N, ColS: Integer;
begin
 DBGrid.Columns[0].Width:=FIRSTW;
 ColS:=Trunc((DBGrid.ClientWidth-(TMyGrid(DBGrid).GridLineWidth *(DBGrid.Columns.Count))-FIRSTW-TMyGrid(DBGrid).ColWidths[0]) /
             (DBGrid.Columns.Count-1));
 for N:= 1 to DBGrid.Columns.Count-1 do DBGrid.Columns[N].Width := ColS;
end;


 
DelphiLexx ©   (2007-04-04 18:03) [5]


> DBGrid.GridLineWidth

Где ты взял GridLineWidth


 
{RASkov}   (2007-04-05 00:11) [6]

> > DBGrid.GridLineWidth
>
> Где ты взял GridLineWidth

А где в моем коде ты такое нашел?

Или у DBGridEh"а кто предок? Если TCustomDBGrid - то должно все работать....



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.037 c
15-1178869133
ЮЮ
2007-05-11 11:38
2007.06.03
Я ухожу из Дельфи. Если Мастера не дадут :)


15-1178275864
Motorola Phone (L6)
2007-05-04 14:51
2007.06.03
Подзарядка мобилы через USB компьютера


2-1179164356
ЯХ
2007-05-14 21:39
2007.06.03
16циричный код


1-1176217171
I-New
2007-04-10 18:59
2007.06.03
вывод TPopupMenu с Timage при нажатии на левую кнопку мыши


15-1178704240
KilkennyCat
2007-05-09 13:50
2007.06.03
не курите траву!




   Наверх