![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с DBGrid
RebroFF © (2006-09-07 11:10:00)Подскажите, пожалуйста, как в гриде реализовать выравнивание столбцов по содержимому
zdm (2006-09-07 17:44:00) [1]
> MsGuns ©
ПОЛНОСТЬЮ СОГЛАСЕН,,,, не надо юзеров особенно жаловать,,, это только по началу они возмощаются, а потом привыкают,, и к переодической смене пароля и к интерфейсу программы и т.д. и т.п. ,,, проверено:)))
MsGuns (2006-09-07 14:57:00) [2]>Пользователь выразил категорический протест и полное непонимание.
Таким "пользователям", привыкшим к самоизобретенным простыням, нужно советовать купить монитор со средний небоскреб и вертолет чтоб его обозревать.
Лечится просто :
Если "пользователь" из конторы-клиента, то за подобные вытребеньки надо выставлять соответствующие счета, если "по долгу службы", то требовать полгода-год на реализацию.
Есть еще вариант выгрузки в "любимый всеумеющий" Эксель. А там юзер пусть что хочет делает со своей трехметровой таблицей.
RebroFF (2006-09-07 13:21:00) [3]Блин, но с гридом всё-равно всё по-старому. Все компоненты масштабируются, кроме него. Ф-у-у-х...
RebroFF (2006-09-07 13:13:00) [4]Включил ентот модуль в секцию uses каждого модуля и вызываю ScaleForm в
обработчике формы OnCreate, передавая в качестве параметра имя формы.
unit scale;
interface
uses
Forms, WinTypes, WinProcs, SysUtils;
procedure ScaleForm(Sender: TObject);
implementation
procedure ScaleForm(Sender: TObject);
const
{разрешения во время разработки}
DesignScrY: LongInt = 768;
DesignScrX: LongInt = 1024;
DesignBorder: LongInt = 4;
var
SystemScrY: LongInt;
SystemScrX: LongInt;
SystemBorder: LongInt;
OldHeight: LongInt;
OldWidth: LongInt;
begin
SystemScrY := GetSystemMetrics(SM_CYSCREEN);
SystemScrX := GetSystemMetrics(SM_CXSCREEN);
SystemBorder := GetSystemMetrics(SM_CYFRAME);
with Sender as TForm do
begin
Scaled := True;
AutoScroll := False;
Top := Top * SystemScrX div DesignScrX;
Left := Left * SystemScrX div DesignScrX;
OldHeight := Height + (DesignBorder - SystemBorder) * 2;
OldWidth := Width + (DesignBorder - SystemBorder) * 2;
ScaleBy((OldWidth * SystemScrX div DesignScrX - SystemBorder * 2),
(OldWidth - DesignBorder * 2));
Height := OldHeight * SystemScrY div DesignScrY;
Width := OldWidth * SystemScrX div DesignScrX;
end;
end;
begin
end.
zdm (2006-09-07 11:50:00) [5]Чего придумал?
RebroFF (2006-09-07 11:49:00) [6]Всё. Разобрался.
RebroFF (2006-09-07 11:47:00) [7]
> Если полей которые нужно отобразить очень много, или данные
> имеют большую длину, то лучше вообще гридом не пользоваться,
> а допустим,, в гриде отобразить только общую информацию
> , ну там типа, краткое имя и т.д. а на ,допустим кнопочку
> "подробно" вызвать форму, где отобразиться подробная инфа,
> через всякие там Лейблы или Эдиты.
>
Было. Пользователь выразил категорический протест и полное непонимание. В полях даты (8 полей)+фио, цех и должность. А всё-таки ведь как-то ж её (форму) можно, блин, масштабировать...
zdm (2006-09-07 11:41:00) [8]Если полей которые нужно отобразить очень много, или данные имеют большую длину, то лучше вообще гридом не пользоваться, а допустим,, в гриде отобразить только общую информацию , ну там типа, краткое имя и т.д. а на ,допустим кнопочку "подробно" вызвать форму, где отобразиться подробная инфа, через всякие там Лейблы или Эдиты.
RebroFF (2006-09-07 11:38:00) [9]
> Не грид надо адаптировать, а форму на которой он лежит.
Ну да. Сначала проверял разрешение и программно менял его на 1024х768.
Но ведь это не выход.
Sergey13 (2006-09-07 11:35:00) [10]> [18] RebroFF (07.09.06 11:33)
Не грид надо адаптировать, а форму на которой он лежит.
RebroFF (2006-09-07 11:33:00) [11]
>
> Значит надо определить максимальную длину строки и выставить
> ширину колонки.
> А нафига? Если вдруг данные в одной записи во много раз
> превышают ширину экрана - заморишься листать. Кроме того
> - в глазах рябить будет и неудобно - то одна картинка то
> другая перед глазами.
Реально, проблема в адаптации грида к различным разрешениям монитора. Вот.
Sergey13 (2006-09-07 11:33:00) [12]> [14] PSPF2003 © (07.09.06 11:27)
Начиная с 4 версии. До 3.6 - фри.
PSPF2003 (2006-09-07 11:32:00) [13]
> zdm ©
:)))
zdm (2006-09-07 11:29:00) [14]
> PSPF2003
А вот я и говорю, что пасадят меня когда-нибудь,,, я ему FullVersion кинул
PSPF2003 (2006-09-07 11:27:00) [15]Кстати, я может и ошибаюсь, но по моему она платная.
zdm (2006-09-07 11:26:00) [16]
> RebroFF
лови,, , меня точно посадят с тобой
RebroFF (2006-09-07 11:24:00) [17]2PSPF2003
Пасиба.
Sergey13 (2006-09-07 11:23:00) [18]> [3] RebroFF (07.09.06 11:16)
Значит надо определить максимальную длину строки и выставить ширину колонки.
А нафига? Если вдруг данные в одной записи во много раз превышают ширину экрана - заморишься листать. Кроме того - в глазах рябить будет и неудобно - то одна картинка то другая перед глазами.
PSPF2003 (2006-09-07 11:23:00) [19]http://www.farpost.com/personal/dmitryb/RUS/ehlibrus.exe
RebroFF (2006-09-07 11:23:00) [20]
> или e-mail свой оставь.....
rebroff@slav.dn.ua