![]() |
|
#1
|
|||
|
|||
![]() Как зафиксировать размер колонок, чтобы при запуске программы они не становились длинными?
|
#2
|
||||
|
||||
![]() Пропиши их размер в Design-Time или, если удобнее, тоже самое в Run-Time, но уже в коде.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() Клик правой кнопкой мышки на DBGrid, появится окошко для создания/выбора колонок. В Object Inspector-е выставляем ширину колонки.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
|||
|
|||
![]() Я делал так, может и не правильно
Код:
procedure TMainForm.FormCreate(Sender: TObject); var i:integer; begin for i:=2 to 32 do DBGrid1.Columns[i].width:=40; for i:=34 to 36 do DBGrid1.Columns[i].Width:=30; DBGrid1.Columns[33].Width:=190; DBGrid1.Columns[37].Width:=150; ![]() Последний раз редактировалось t116, 21.11.2011 в 22:55. |
#6
|
||||
|
||||
![]() Правильно, это называется Run-Time режим.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
|||
|
|||
![]() У меня вся загвозка в том,что я не в design-time и не в run-time ничего этого раньше не прописывал. Просто мышкой растянул как надо и все. А теперь создал новый DBgrid мышкой растянул как надо, но при запуске длина колонок сбрасывается на значения по умолчанию.
|
#8
|
||||
|
||||
![]() То что ты растянул, будет работать, но так неудобно -точный размер подогнать сложно.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 21.11.2011 в 23:14. |
#9
|
|||
|
|||
![]() Цитата:
|
#10
|
|||
|
|||
![]() после того как поключил базу к дбгриду.жмакни двойным кликом на этот грид,и в окошке Edititng DBGreed columns нажми add all fields и потом меняй размер,и тогда при запуске он останется
Последний раз редактировалось Snake22, 22.11.2011 в 00:36. |
#11
|
|||
|
|||
![]() Надо написать процедуру авторазмера колонок (например по массиву процентов типа byte) и вызывать при OnResize того на чем лежит грид.
Примерно будет выглядеть так: Код:
procedure AutoSizeDBGridColumns(DBGrid: TDBGrid; ColPercents: array of byte); Код:
AutoSizeDBGridColumns(DBGrid1, [20, 30, 50]); |
#12
|
||||
|
||||
![]() Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#13
|
||||
|
||||
![]() Цитата:
Я бы посоветовал такую конструкцию: Код:
var i: integer; ... for i:= 0 to DBGrid1.Columns.Count-1 do case i of 0: DBGrid1.Columns[i].Width:= 200; 1: DBGrid1.Columns[i].Width:= 100; 2: DBGrid1.Columns[i].Width:= 80; end; Код:
case i of 0,2,3: DBGrid1.Columns[i].Width:= 200; 1,4: DBGrid1.Columns[i].Width:= 100; end; Google в помощь |
#14
|
|||
|
|||
![]() Цитата:
Цитата:
Цитата:
|
#15
|
||||
|
||||
![]() Цитата:
Да точно, не внимательно прочитал, потому что не ожидал, что кто-то может предложить задавать ширину столбцов грида процентно... Идея изначально ужасная, что получается в относительно маленьком окошке ничего видно не будет. Меня бы за такую идею на производстве пользователи убили бы наверно. Google в помощь |