![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с DBGrid! [D5, Paradox]
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]Хорошо, таким образом я поймаю поля, которые не видимы. Но как мне потом отобразить именно те поля, которые были видны перед обновлением ?