Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с DBGrid


Страницы:   1 2

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо