Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизРабота с DBGrid Найти похожие ветки
← →
RebroFF (2006-09-07 11:10) [0]Подскажите, пожалуйста, как в гриде реализовать выравнивание столбцов по содержимому
← →
Sergey13 © (2006-09-07 11:14) [1]Это как (чтоб не было недопонимания)?
← →
zdm © (2006-09-07 11:16) [2]самый простой способ, используй DbGridEh ---свойство AutoFitColWidth=true
← →
RebroFF (2006-09-07 11:16) [3]:) Что-то типа экселевских таблиц: ширина столбца динамически меняется в сооветствии с длиной наибольшей строки данных в ячейке
← →
zdm © (2006-09-07 11:18) [4]если есть возможность ставь EhLib и будет тебе счастье, сэкономишь кучу времени и нервов.... :)))
← →
RebroFF (2006-09-07 11:19) [5]Сторонние компоненты-это конечно хорошо, но... (Кстати, а где нарыть EHLib?. Я так понимаю это оттуда?)
← →
PSPF2003 © (2006-09-07 11:20) [6]> Кстати, а где нарыть EHLib
В инете
← →
zdm © (2006-09-07 11:21) [7]или e-mail свой оставь.....
← →
RebroFF (2006-09-07 11:22) [8]
> > Кстати, а где нарыть EHLib
Спасибо за полный и содержательный ответ. Теперь ни за что не заблужусь:)
← →
RebroFF (2006-09-07 11:23) [9]
> или e-mail свой оставь.....
rebroff@slav.dn.ua
← →
PSPF2003 © (2006-09-07 11:23) [10]http://www.farpost.com/personal/dmitryb/RUS/ehlibrus.exe
← →
Sergey13 © (2006-09-07 11:23) [11]> [3] RebroFF (07.09.06 11:16)
Значит надо определить максимальную длину строки и выставить ширину колонки.
А нафига? Если вдруг данные в одной записи во много раз превышают ширину экрана - заморишься листать. Кроме того - в глазах рябить будет и неудобно - то одна картинка то другая перед глазами.
← →
RebroFF (2006-09-07 11:24) [12]2PSPF2003
Пасиба.
← →
zdm © (2006-09-07 11:26) [13]
> RebroFF
лови,, , меня точно посадят с тобой
← →
PSPF2003 © (2006-09-07 11:27) [14]Кстати, я может и ошибаюсь, но по моему она платная.
← →
zdm © (2006-09-07 11:29) [15]
> PSPF2003
А вот я и говорю, что пасадят меня когда-нибудь,,, я ему FullVersion кинул
← →
PSPF2003 © (2006-09-07 11:32) [16]
> zdm ©
:)))
← →
Sergey13 © (2006-09-07 11:33) [17]> [14] PSPF2003 © (07.09.06 11:27)
Начиная с 4 версии. До 3.6 - фри.
← →
RebroFF (2006-09-07 11:33) [18]
>
> Значит надо определить максимальную длину строки и выставить
> ширину колонки.
> А нафига? Если вдруг данные в одной записи во много раз
> превышают ширину экрана - заморишься листать. Кроме того
> - в глазах рябить будет и неудобно - то одна картинка то
> другая перед глазами.
Реально, проблема в адаптации грида к различным разрешениям монитора. Вот.
← →
Sergey13 © (2006-09-07 11:35) [19]> [18] RebroFF (07.09.06 11:33)
Не грид надо адаптировать, а форму на которой он лежит.
← →
RebroFF (2006-09-07 11:38) [20]
> Не грид надо адаптировать, а форму на которой он лежит.
Ну да. Сначала проверял разрешение и программно менял его на 1024х768.
Но ведь это не выход.
← →
zdm © (2006-09-07 11:41) [21]Если полей которые нужно отобразить очень много, или данные имеют большую длину, то лучше вообще гридом не пользоваться, а допустим,, в гриде отобразить только общую информацию , ну там типа, краткое имя и т.д. а на ,допустим кнопочку "подробно" вызвать форму, где отобразиться подробная инфа, через всякие там Лейблы или Эдиты.
← →
RebroFF (2006-09-07 11:47) [22]
> Если полей которые нужно отобразить очень много, или данные
> имеют большую длину, то лучше вообще гридом не пользоваться,
> а допустим,, в гриде отобразить только общую информацию
> , ну там типа, краткое имя и т.д. а на ,допустим кнопочку
> "подробно" вызвать форму, где отобразиться подробная инфа,
> через всякие там Лейблы или Эдиты.
>
Было. Пользователь выразил категорический протест и полное непонимание. В полях даты (8 полей)+фио, цех и должность. А всё-таки ведь как-то ж её (форму) можно, блин, масштабировать...
← →
RebroFF (2006-09-07 11:49) [23]Всё. Разобрался.
← →
zdm © (2006-09-07 11:50) [24]Чего придумал?
← →
RebroFF (2006-09-07 13:13) [25]Включил ентот модуль в секцию 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.
← →
RebroFF (2006-09-07 13:21) [26]Блин, но с гридом всё-равно всё по-старому. Все компоненты масштабируются, кроме него. Ф-у-у-х...
← →
MsGuns © (2006-09-07 14:57) [27]>Пользователь выразил категорический протест и полное непонимание.
Таким "пользователям", привыкшим к самоизобретенным простыням, нужно советовать купить монитор со средний небоскреб и вертолет чтоб его обозревать.
Лечится просто :
Если "пользователь" из конторы-клиента, то за подобные вытребеньки надо выставлять соответствующие счета, если "по долгу службы", то требовать полгода-год на реализацию.
Есть еще вариант выгрузки в "любимый всеумеющий" Эксель. А там юзер пусть что хочет делает со своей трехметровой таблицей.
← →
zdm © (2006-09-07 17:44) [28]
> MsGuns ©
ПОЛНОСТЬЮ СОГЛАСЕН,,,, не надо юзеров особенно жаловать,,, это только по началу они возмощаются, а потом привыкают,, и к переодической смене пароля и к интерфейсу программы и т.д. и т.п. ,,, проверено :)))
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.049 c