Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];




Вниз

Ширина колонок TDBGrid 


777   (2001-12-25 04:10) [0]

Я использую компонент TDBGrid и хотел чтобы ширина его колонок менялась в соответствии с расположенным текстом в записях, другими словами я хочу чтобы размер колонок соответствовал максимальному размеру текста в колонке, но как это сделать?



GrEG   (2001-12-25 08:52) [1]

По умолчанию, при открытии набора данных, размер колонок подстраивается под максимальный размер поля, ориентируясь на описание поля.
Если этот вариант не устраивает, то придется все делать ручками.
Сразу возникает вопрос. Ширина столбца должна соответствовать максимальной длине строки в отображаемой части набора данных или всего набора данных? Во втором случае можно при открытии набора данных пройти все записи и найти значение максимальной длины для каждого из полей. После этого с помощью MyDBGrid.Canvas.TextWidth можно определить длину текста в пикселах и ориентируясь на полученные значения, установить размеры колонок (z.B.: MyDBGrid.Columns[0].Width). Но есть огромный минус - при значительных размерах наборов данных, все это займет достаточно много времени (к сожалению, обрезанная версия SQL, поставляемая в составе BDE, не позволяет определять размер строки).
В первом случае, когда размер колонок ориентируется на отображаемую часть набора данных, дополнительно придется определить, какая же часть набора данных отображается, и выбрать максимальные размеры полей в этой части. А далее - как во втором случае.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.031 c
4-42611           Kan                   2001-11-14 11:36  2002.01.14  
Самоуничтожающаяся программа


4-42616           Kyd                   2001-11-13 11:18  2002.01.14  
SendMessage(MyHandle, WM_SetText, 0, Integer(TextToSet));


4-42629           Pal-nod               2001-11-15 17:56  2002.01.14  
Где можно найти в РУНЕТЕ нормальное


1-42434           som                   2001-12-24 10:12  2002.01.14  
Графика


1-42484           GARIK_PR              2001-12-25 10:43  2002.01.14  
Помогите чем сможете в области ActiveX программирования.