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

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

Скроллинг в DBGrid [D7, IB6.x, FireBird]


Страницы:   1 2

Shizuku ©   (2005-02-11 12:21:00) 

В некоторые из строк DbGrid сохранены достаточно длинные строки, которые не влазят целиком на экран. Как добавить в DBGrid горизонтальный скролинг?


Ega23   (2005-02-11 13:19:00) [21]

Можно и без отдельного поля, запросом с substr и три точки на конце. :))

Ну это я и имел ввиду. В самом запросе поле дополнительное ввести...


Sergey13   (2005-02-11 13:15:00) [22]

2[9] Danilka ©   (11.02.05 13:07)
Уж еще поофтопчу, сори.
То-же самое и на делфи легко сделать. Выбрал ИД-шники и хлопай в цикле.
Сори еще раз.


ЮЮ   (2005-02-11 13:11:00) [23]

Смотри внимательно ЮЮ ©   (11.02.05 12:53) [4]

В гриде принципиально нельзя просмотреть строку шире ширены грида


Sergey13   (2005-02-11 13:09:00) [24]

2[9] Danilka ©   (11.02.05 13:07)
Для Оракла. Там вроде МДБ стоит.


Danilka   (2005-02-11 13:07:00) [25]

[2] Ega23 ©   (11.02.05 12:45)
Можно и без отдельного поля, запросом с substr и три точки на конце. :))

[6] Sergey13 ©   (11.02.05 13:02)
Оффтопик.
Ветку про удаление из двух таблиц прикрыли не успел туда написать. Есть варианты без промежуточных таблиц, например, для Орокла:
begin
 for i in (
   select t1.x1
   from t1, t2
   where t1.x1 = t2.x1)
 loop
   delete from t1 where x1 = i.x1;
   delete from t2 where x1 = i.x1;
 end loop;
end;
Наверняка, для других серверов тоже можно что-то придумать. :)


Shizuku   (2005-02-11 13:07:00) [26]

to Sergey13> Конечно читаю! Поэтому и пишу. Это намёк на то, что я использую не TQuery, а TIBQuery.


Shizuku   (2005-02-11 13:04:00) [27]

to Yuuuu> У меня в DBGrid справа, есть скрытый столбец. Когда я установила его свойство Visible в True, то появилась строка прокрутки. Но этот столбец нужен мне скрытым, он используется при построении запросов и иной смысловой нагрузки не несёт.


Sergey13   (2005-02-11 13:02:00) [28]

2 [5] Shizuku ©   (11.02.05 12:55)
Ты ответы читаешь? В [1] и [2] все написано. При чем тут " на ibx-компонентах, без использования BDE"?


Shizuku   (2005-02-11 12:55:00) [29]

to EGA23>Приложение работает целиком на ibx-компонентах, без использования BDE.


ЮЮ   (2005-02-11 12:53:00) [30]

>Да, если даже расширить, то просто часть колонки уйдёт за границу экрана.

В этом случае и линейка прокрутки не поможет, т.к. при дальнейшем скроллинге будет просто переход к следующему столбцу. Склоллинг, когда слева грида не начало столбца в гриде невозможен


Shizuku   (2005-02-11 12:49:00) [31]

У меня эта таблица одна на всю форму, а форма открывается в полноэкранном режиме

     BorderStyle := bsNone;
     //FormStyle   := fsStayOnTop;
     Left        := 0;
     Top         := 0;
     Height      := Screen.Height;
     Width       := Screen.Width;


Плюс скрывается панель задач. И всё равно строчка целиком не видна. Расширить колонку? Так ведь не все строчки длинные... Разве что отлавливать размер самых-самых, но это сложно. Да, если даже расширить, то просто часть колонки уйдёт за границу экрана. Нужна линейка прокрутки.


Ega23   (2005-02-11 12:45:00) [32]

AFAIK, стандартный TQuery всё, что больше 255 символов - считает BLOB'ом. По крайней мере мне не удавалось такие строки в грид впихнуть.
Ну а самое главное - для пользователя это серьёзное неудобство такие строки читать.
Если ты неприменно хочешь, чтобы это поле данных обязательно отображалось в гриде, то заведи "сокращённое" поле, допутим, 50 символов от исходного. И показывай уже его. А если нужно будет посмотреть всё поле целиком - делай, как msguns © посоветовал.

Я бы сделал именно так.


msguns   (2005-02-11 12:35:00) [33]

Расширить соотв. колонку грида
Если текст очень длинный, то, ИМХО, проще повесить окно (StayOnTop), где его отображать (например, как TDBMemo)
Юзер может переместить окно куда ему угодно или вообще закрыть.


Страницы:   1 2

Наверх

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