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

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

Помогите с DBGrid! [D5, Paradox]


Страницы:   1 2 3

alexander_ua ©   (2003-01-17 15:22:00) 

В гриде помещаются не все поля. При использовании прокрутки (горизонтальной) после переоткрытия Query (close-open) полосы прокрутки возвращаются в прежнее положение. Т.е. например у меня есть 10 полей, в видимой области грида - поля 1-6. Делаю прокрутку, чтобы видеть поля 4-9. После переоткрытия датасета снова вижу поля 1-6, а нужно ведь 4-9!!!
Извиняюсь за настырность, вопрос уже задавал, но так и не получил вразумительного ответа.


alexander_ua   (2003-01-20 15:38:00) [21]

Reindeer Moss Eater (20.01.03 14:44)
поясни, пожалуйста...


Reindeer Moss Eater   (2003-01-20 14:44:00) [22]

Круто! А другим (более адекватным) способом добиться этого нельзя?


alexander_ua   (2003-01-20 14:42:00) [23]

dgRowSelect мне затем, что грид я использую не для редактирования, а просто для отображения инфы. Соответственно после выделения записи (строки) и клацанья по какой-либо кнопке открываю окно редактирования.
Вобщем я так понимаю, ответы исчерпаны? Что-то мне не верится, что невозможно сделать то, чего я хочу...


Reindeer Moss Eater   (2003-01-20 14:35:00) [24]

За какой надобностью тебе dgRowSelect ?


Delirium^.Tremens   (2003-01-20 14:32:00) [25]

alexander_ua (20.01.03 14:28)

> Может есть еще идеи

Оставить в покое фичи польз. интерфейса и заняться логикой приложения.


Reindeer Moss Eater   (2003-01-20 14:31:00) [26]

Идеи чего?


alexander_ua   (2003-01-20 14:28:00) [27]

TTCustomDelphiMaster © (17.01.03 21:38)

У dbgrid нет свойства LeftCol :).
Я уже даже научился делать программную прокрутку по горизонтали, да вот беда, слишком уж заметна эта прокрутка и рядового пользователя может ввести в полное замешательство... Может есть еще идеи?


TTCustomDelphiMaster   (2003-01-17 21:38:00) [28]

TCustomGrid.LeftCol - Specifies the index of the first visible scrollable column in the grid.


alexander_ua   (2003-01-17 18:39:00) [29]

Уж было обрадовался, а там архив здоровенный, меня админ убъет, если я его выкачаю. Может кто вспомнит как программный скрулл делать?


AM   (2003-01-17 18:32:00) [30]

>> alexander_ua (17.01.03 18:19)

>> программный скрулл?

вот где-то мне попадался он, не могу вспомнить где я читал про это...

ну есть еще совсем тупой подход - скрыть (сделать невидимыми) колонки 1,2 , если к примеру тебе надо отобразить с 3-ей, ну а потом в нужный момент отобразить их...

Но конечно лучше программный скрулл,
а про программный скрул - поищи в архивах форму, наверняка кто-то уже задавал такой вопрос...


alexander_ua   (2003-01-17 18:19:00) [31]

как по-другому? вобщем вопрос теперь стоит так: нужно программно сделать к примеру поле 4 первым из отображаемых в гриде. Если это можно сделать как говорил Reindeer Moss Eater, то как делается программный скрулл?


AM   (2003-01-17 18:12:00) [32]

>> AM (17.01.03 18:05)

сорри обшибся, надо подругому...


alexander_ua   (2003-01-17 18:10:00) [33]

как посылать???? ведь это и интересует
>Reindeer Moss Eater
>Посылай гриду нажатия "->". Или откажись от RowSelect


AM   (2003-01-17 18:05:00) [34]

Reindeer Moss Eater (17.01.03 17:47)

Я думаю ее перед обновлением отключить, обновить, все расставить по своим местам ( Locate, SelectedIndex ...) переключить фокус на другой контрол, а потом включить это свойство только на OnEnter у Грида.


alexander_ua   (2003-01-17 18:03:00) [35]

как посылать???? ведь это и интересует


Reindeer Moss Eater   (2003-01-17 17:56:00) [36]

Посылай гриду нажатия "->". Или откажись от RowSelect


alexander_ua   (2003-01-17 17:52:00) [37]

вобщем так. с помощью DBGrid1DrawColumnCell я выловил поле, которое первым отображается в гриде до обновления. Остается узнать как после обновления сразу же перейти к этому полю. Сразу же говорю, что RowSelect включена и SelectedFields (SelectedIndex) неприменимы.


Reindeer Moss Eater   (2003-01-17 17:47:00) [38]

(с помощью SelectedIndex)
У него RowSelect опция включена. Сказали же уже.


AM   (2003-01-17 17:42:00) [39]

Только strL: TStringList; - глобальная переменная!!!

>Хорошо, таким образом я поймаю поля, которые не видимы. Но как
>мне потом отобразить именно те поля, которые были видны перед
>обновлением ?

А вот это тебе надо будет просуммировать все ширины колонок твоего грида и сравнить с размером самого грида и исходя из этого решать надо ли переходить (с помощью SelectedIndex) к примеру на 6-ю колонку, чтобы колонки сдвинулись и начиная с 3-ей все были видны...
довольно нудно, но в принципе решимо...

тут есть еще проблемка понять, когда закончила перерисовываться последняя ячейка, чтобы начать проверку списка полей...

это в принципе все теория надо на практике посмотреть как будет...


alexander_ua   (2003-01-17 17:27:00) [40]

Хорошо, таким образом я поймаю поля, которые не видимы. Но как мне потом отобразить именно те поля, которые были видны перед обновлением ?


Страницы:   1 2 3

Наверх

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