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

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

Сохранение курсора в текущем месте дбгрида [D5]


sapsi ©   (2003-04-14 14:16:00) 

ДОбрый день.
При выполнении сортировки (по щелчку на title дб грида), происходит перемещение отображения к первому столбцу грида.
Как этого избежать?
Спасибо.


sapsi   (2003-04-17 15:11:00) [1]

2Mike Kouzmine
Так как все же определить, что столбец грида в данный момент видимый


sniknik   (2003-04-16 16:26:00) [2]

ну во первых зачем? но раз уж начал ладно, поставил dgrowselect у грида и ничего, скачет по тем полям по которым щелкаю, в начало не хочет. (если конечно не щелкнуть в начале)

говорю же глюк у меня, раз все работает так как ожидается. :-))


sapsi   (2003-04-16 15:14:00) [3]

2 sniknik
Поставь dgrowselect:=true у дб грида.
и тогда при любом щелчке на гриде тебя будет возвращать в начало дбгрида.


sapsi   (2003-04-16 13:28:00) [4]

как определить, что столбец видимый


Mike Kouzmine   (2003-04-16 11:48:00) [5]

Прав, конечно.
Но поведусь еще раз. Запоминать на OnExit грида первый видимый столбец (крайний левый), и после действия делать его оным.


sniknik   (2003-04-16 10:33:00) [6]

забавно смотреть как пытаются избавится от того чего не сушествует.
и самое интересное, что все это без строчки кода, чисто "абстрактно".

но во первых - такого не бывает (абстрактного знания и чтобы везде было применительно)
во вторых - попытался добится того же ("Выполнить сортировку, чтобы ставилось в начало, если стоит: "выбрать всю строку".") и не получилось! оно остается там где стояло до...! (пример в форме Exe-шника могу выслать всем желающим, для разбора)
код по примеру автора приводить не буду, но вопрос - может у меня глюк где?

:::: звонок в службу поддержки микрософта. - я поставила виндовс 95 в 95-м году, и с того времени ни одного глюка, сбоя, зависания. скажите что я делаю не так? :о))) (анекдот если кто не понял, в тему)


sapsi   (2003-04-16 10:03:00) [7]

так как, Если стоит у грида "Выделить всю строку", то текущего столбца НЕТ - они все как текущие (dgSelected + dgFocused)


Mike Kouzmine   (2003-04-15 17:27:00) [8]

Почему?


sapsi   (2003-04-15 16:48:00) [9]

все равно установить на нужный столбец не удается.


Mike Kouzmine   (2003-04-14 17:14:00) [10]

На онэкзит всех столбцов - запоминание селектединдекс в глобальной переменной. Дальше определяй видимо это или нет.


sapsi   (2003-04-14 17:00:00) [11]

2 ms guns: то же самое
2 all : невнимательно читаете вопрос...
речь не о locate и т.п.
а о том, как прокрутить dbgrid на нужный столбец.
Спасибо.


sapsi   (2003-04-14 16:58:00) [12]

2 dim
Не строку запомнить (это просто), а столбец, на который пользователь прокрутил скролл сверху в гриде.
Выполняется сортировка, ставится в начало, если стоит: "выбрать всю строку".


MsGuns   (2003-04-14 16:33:00) [13]

Перед тем, как переоткрыть запрос с изменненным ORDER BY (если исп-ся GridEh, то там есть соотв-ее событие), запомнить ID текущей записи (выделенная.строка грида всегда отображает текущую запись НД), а после переоткрытия Locate для этого НД по идентификатору, значение которого запомнил перед этим.

Если стоит у грида "Выделить всю строку", то текущего столбца НЕТ - они все как текущие (dgSelected + dgFocused)


dim   (2003-04-14 16:31:00) [14]

Запоминаем:
CurrrentRow := Query1.FieldByName("ID").AsInteger;

закрываем запрос, изменяем текст запроса, открываем запрос

Вспоминаем:
Query1.Locate("ID",CurrrentRow, []);


sapsi   (2003-04-14 16:13:00) [15]

Заметил, что все работает без всяких ухищрений, если в опциях грида не стоит "выбрать всю строку" (dgrowselect:=false), а вот если не false, то как сделать?


VAleksey   (2003-04-14 15:35:00) [16]

Смотри св-ва колонок dbGrida. Что-то типа SelectedColums или помотри Columns[..], там должен быть нужный тебе способ.


sapsi   (2003-04-14 15:09:00) [17]

Букмарк разве на столбец возвращает нужный?


Соловьев   (2003-04-14 14:52:00) [18]

BooKMark - закладка у НД.


sniknik   (2003-04-14 14:51:00) [19]

а как же, ктонибудь обязательно!


sapsi   (2003-04-14 14:46:00) [20]

Кто-нибудь знает?


Наверх

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