Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1156955162
NGPOL
2006-08-30 20:26
2006.09.24
Снова о DLL


2-1157017070
BronOS
2006-08-31 13:37
2006.09.24
доступ к объекту на форме MDI Child


4-1148457913
truegosha
2006-05-24 12:05
2006.09.24
QueryServiceStatus Отказано в доступе


15-1157363915
umbra
2006-09-04 13:58
2006.09.24
Линукс. Как из tar-фрхива извлечь конкретный файл/каталог?


2-1157092512
worldmen
2006-09-01 10:35
2006.09.24
Ошибва в модуле.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский