Форум: "Основная";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизКак правильно выравнить колонки в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c