Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Dbgid- проблема с шириной столбцов [XP]


kupidon ©   (2008-05-15 05:49:00) 

Приветствую всех. Вопрос: имеется таблица dbgid. растягиваю ширину столбцов на требуемую - все работает прекрасно. На другой день запускаю делфи, запускаю программу- ширины столбцов- как попало. Что может быть?
Пробовал и в инспекторе на столбцы ширину устанавливать- работает нормально, но до поры до времени. :(


Vlad Oshin   (2008-05-15 09:57:00) [1]

procedure setgridcolumnwidths(grid: tdbgrid);
const
defborder = 10;
var
temp, n: integer;
lmax: array [0..30] of integer;
begin
with grid do
begin
 canvas.font := font;
 for n := 0 to columns.count - 1 do //if columns[n].visible then
                        lmax[n] := canvas.textwidth(fields[n].fieldname) + defborder;
 grid.datasource.dataset.first;
 while not grid.datasource.dataset.eof do
 begin
   for n := 0 to columns.count - 1 do
   begin
     //if columns[n].visible then begin
     temp := canvas.textwidth(trim(columns[n].field.displaytext)) + defborder;
     if temp > lmax[n] then lmax[n] := temp;
     //end; { if }
   end; {for}
   grid.datasource.dataset.next;
 end; { while }
grid.datasource.dataset.first;
for n := 0 to columns.count - 1 do
                 if lmax[n] > 0 then columns[n].width := lmax[n];
end; { with }
end; {setgridcolumnwidths }


Vlad Oshin   (2008-05-15 09:57:00) [2]

procedure setgridcolumnwidths(grid: tdbgrid);
const
defborder = 10;
var
temp, n: integer;
lmax: array [0..30] of integer;
begin
with grid do
begin
 canvas.font := font;
 for n := 0 to columns.count - 1 do //if columns[n].visible then
                        lmax[n] := canvas.textwidth(fields[n].fieldname) + defborder;
 grid.datasource.dataset.first;
 while not grid.datasource.dataset.eof do
 begin
   for n := 0 to columns.count - 1 do
   begin
     //if columns[n].visible then begin
     temp := canvas.textwidth(trim(columns[n].field.displaytext)) + defborder;
     if temp > lmax[n] then lmax[n] := temp;
     //end; { if }
   end; {for}
   grid.datasource.dataset.next;
 end; { while }
grid.datasource.dataset.first;
for n := 0 to columns.count - 1 do
                 if lmax[n] > 0 then columns[n].width := lmax[n];
end; { with }
end; {setgridcolumnwidths }


Vlad Oshin   (2008-05-15 09:57:00) [3]

procedure setgridcolumnwidths(grid: tdbgrid);
const
defborder = 10;
var
temp, n: integer;
lmax: array [0..30] of integer;
begin
with grid do
begin
 canvas.font := font;
 for n := 0 to columns.count - 1 do //if columns[n].visible then
                        lmax[n] := canvas.textwidth(fields[n].fieldname) + defborder;
 grid.datasource.dataset.first;
 while not grid.datasource.dataset.eof do
 begin
   for n := 0 to columns.count - 1 do
   begin
     //if columns[n].visible then begin
     temp := canvas.textwidth(trim(columns[n].field.displaytext)) + defborder;
     if temp > lmax[n] then lmax[n] := temp;
     //end; { if }
   end; {for}
   grid.datasource.dataset.next;
 end; { while }
grid.datasource.dataset.first;
for n := 0 to columns.count - 1 do
                 if lmax[n] > 0 then columns[n].width := lmax[n];
end; { with }
end; {setgridcolumnwidths }


Наверх

Титульная страница Поиск, карта сайта Написать письмо