Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.03;
Скачать: 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 вся ветка

Текущий архив: 2007.06.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
2-1179224410
RomanLN
2007-05-15 14:20
2007.06.03
как связать SQL с DBGrid


1-1175853785
alexey_mas
2007-04-06 14:03
2007.06.03
Выравнивание в ворде


15-1178195654
oldman
2007-05-03 16:34
2007.06.03
Что могло случиться с флэшкой?


2-1179130178
Dines
2007-05-14 12:09
2007.06.03
Как узнать иформацию о файле (дату последнего изменения)


1-1176046112
mr.sokolOFF
2007-04-08 19:28
2007.06.03
TTreeView