Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Вниз

автоширина столца в DBGridEH   Найти похожие ветки 

 
Lt   (2003-07-25 09:22) [0]

День добрый. Можно ли (и как) в DBGridEh устанавливать автоширину ОТДЕЛЬНОГО столбца в зависимости от ширины содержимого ячейки? Установка для столбца Autowith в true не срабатывает.


 
Johnmen   (2003-07-25 09:35) [1]

Нет.


 
Lt   (2003-07-25 10:00) [2]

Autowith для TDBGridEh растягивает содержимое всего грида, а что тогда делает свойство autowith для TDBGridEh.Columns?


 
Johnmen   (2003-07-25 10:40) [3]

То же самое для конкретной колонки. Т.е. пропорциональное изменение ширины в зависимости от других колонок...


 
ekc   (2003-07-25 11:19) [4]

Если установить свойство Autowith=True для TDBGridEh, а затем для всех Columns (кроме одного, двух и т.д.) Autowith=False, то и будут растягиваться только тот (те) Columns у которого остался Autowith=True


 
Lt   (2003-07-25 12:15) [5]

Ясно. А какие компоненты с данным свойством (автоширина ОТДЕЛЬНОГО столбца в зависимости от ширины содержимого ячейки)посоветуете?


 
Johnmen   (2003-07-25 12:44) [6]

Таких нет...


 
Lt   (2003-07-29 10:59) [7]

И снова об автовписывании текста в ячейку. Написал процедуру по автоизменению ширины ячейки. Посоветуйте, на какое событие грида (или таблицы? или набора данных?) ее лучше повесить. Смысл в том, чтобы автовыравнивание происходило автоматически после изменения зщначения текста в ячейке пользователем.

procedure TfrmMain.btnHClick(Sender: TObject);
var
WidthMax, WidthField, WidthTitle: Integer;
I: Byte;
begin
with DBGridEh1, dmMain.tblMain do
begin
for I := 0 to Columns.Count - 1 do
begin
WidthMax := 0;
DisableControls;
if I = 0 then WidthMax := 20
else
begin
First;
while not EOF do
begin
WidthField := Canvas.TextWidth(Columns[I].Field.DisplayText);
WidthTitle := Canvas.TextWidth(Columns[I].Title.Caption);
if WidthField < WidthTitle then
if Columns[I].Title.SortMarker = smNoneEh then WidthField := WidthTitle
else WidthField := WidthTitle + 16
else
if (Columns[I].ButtonStyle = cbsEllipsis) or
(Columns[I].ButtonStyle = cbsDropDown) or
( Columns[I].ButtonStyle = cbsAuto) И снова об автовписывании текста в ячейку. Написал процедуру по автоизменению ширины ячейки. Посоветуйте, на какое событие грида (или таблицы? или набора данных?) ее лучше повесить. Смысл в том, чтобы автовыравнивание происходило автоматически после изменения зщначения текста в ячейке пользователем.

procedure TfrmMain.btnHClick(Sender: TObject);
var
WidthMax, WidthField, WidthTitle: Integer;
I: Byte;
begin
with DBGridEh1, dmMain.tblMain do
begin
for I := 0 to Columns.Count - 1 do
begin
WidthMax := 0;
DisableControls;
if I = 0 then WidthMax := 20
else
begin
First;
while not EOF do
begin
WidthField := Canvas.TextWidth(Columns[I].Field.DisplayText);
WidthTitle := Canvas.TextWidth(Columns[I].Title.Caption);
if WidthField < WidthTitle then
if Columns[I].Title.SortMarker = smNoneEh then WidthField := WidthTitle
else WidthField := WidthTitle + 16
else
if (Columns[I].ButtonStyle = cbsEllipsis) or
(Columns[I].ButtonStyle = cbsDropDown) or
(Columns[I].ButtonStyle = cbsAuto) then
WidthField := WidthField + 16;
if WidthField > WidthMax then
WidthMax := WidthField;
Next;
end;
end;
Columns[I].Width := WidthMax + 10;
First;
EnableControls;
end;
end;
end;



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
1-68319
IGoRka
2003-08-08 17:58
2003.08.21
как узнать завершение роботи программи ...


1-68377
tlk
2003-08-07 10:24
2003.08.21
Компонент для работы с dbf-ками без использования BDE . . .


3-68222
VID
2003-07-26 23:07
2003.08.21
Надо сохранить значение ЛЮБОГО поля TpFIBQuery в поток(Stream)


14-68511
Dimka Maslov
2003-08-04 16:31
2003.08.21
Арабы


1-68267
JS
2003-08-06 15:30
2003.08.21
Активизация приложения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский