Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
ВнизСохранение курсора в текущем месте дбгрида Найти похожие ветки
← →
sapsi (2003-04-14 14:16) [0]ДОбрый день.
При выполнении сортировки (по щелчку на title дб грида), происходит перемещение отображения к первому столбцу грида.
Как этого избежать?
Спасибо.
← →
sapsi (2003-04-14 14:46) [1]Кто-нибудь знает?
← →
sniknik (2003-04-14 14:51) [2]а как же, ктонибудь обязательно!
← →
Соловьев (2003-04-14 14:52) [3]BooKMark - закладка у НД.
← →
sapsi (2003-04-14 15:09) [4]Букмарк разве на столбец возвращает нужный?
← →
VAleksey (2003-04-14 15:35) [5]Смотри св-ва колонок dbGrida. Что-то типа SelectedColums или помотри Columns[..], там должен быть нужный тебе способ.
← →
sapsi (2003-04-14 16:13) [6]Заметил, что все работает без всяких ухищрений, если в опциях грида не стоит "выбрать всю строку" (dgrowselect:=false), а вот если не false, то как сделать?
← →
dim (2003-04-14 16:31) [7]Запоминаем:
CurrrentRow := Query1.FieldByName("ID").AsInteger;
закрываем запрос, изменяем текст запроса, открываем запрос
Вспоминаем:
Query1.Locate("ID",CurrrentRow, []);
← →
MsGuns (2003-04-14 16:33) [8]Перед тем, как переоткрыть запрос с изменненным ORDER BY (если исп-ся GridEh, то там есть соотв-ее событие), запомнить ID текущей записи (выделенная.строка грида всегда отображает текущую запись НД), а после переоткрытия Locate для этого НД по идентификатору, значение которого запомнил перед этим.
Если стоит у грида "Выделить всю строку", то текущего столбца НЕТ - они все как текущие (dgSelected + dgFocused)
← →
sapsi (2003-04-14 16:58) [9]2 dim
Не строку запомнить (это просто), а столбец, на который пользователь прокрутил скролл сверху в гриде.
Выполняется сортировка, ставится в начало, если стоит: "выбрать всю строку".
← →
sapsi (2003-04-14 17:00) [10]2 ms guns: то же самое
2 all : невнимательно читаете вопрос...
речь не о locate и т.п.
а о том, как прокрутить dbgrid на нужный столбец.
Спасибо.
← →
Mike Kouzmine (2003-04-14 17:14) [11]На онэкзит всех столбцов - запоминание селектединдекс в глобальной переменной. Дальше определяй видимо это или нет.
← →
sapsi (2003-04-15 16:48) [12]все равно установить на нужный столбец не удается.
← →
Mike Kouzmine (2003-04-15 17:27) [13]Почему?
← →
sapsi (2003-04-16 10:03) [14]так как, Если стоит у грида "Выделить всю строку", то текущего столбца НЕТ - они все как текущие (dgSelected + dgFocused)
← →
sniknik (2003-04-16 10:33) [15]забавно смотреть как пытаются избавится от того чего не сушествует.
и самое интересное, что все это без строчки кода, чисто "абстрактно".
но во первых - такого не бывает (абстрактного знания и чтобы везде было применительно)
во вторых - попытался добится того же ("Выполнить сортировку, чтобы ставилось в начало, если стоит: "выбрать всю строку".") и не получилось! оно остается там где стояло до...! (пример в форме Exe-шника могу выслать всем желающим, для разбора)
код по примеру автора приводить не буду, но вопрос - может у меня глюк где?
:::: звонок в службу поддержки микрософта. - я поставила виндовс 95 в 95-м году, и с того времени ни одного глюка, сбоя, зависания. скажите что я делаю не так? :о))) (анекдот если кто не понял, в тему)
← →
Mike Kouzmine (2003-04-16 11:48) [16]Прав, конечно.
Но поведусь еще раз. Запоминать на OnExit грида первый видимый столбец (крайний левый), и после действия делать его оным.
← →
sapsi (2003-04-16 13:28) [17]как определить, что столбец видимый
← →
sapsi (2003-04-16 15:14) [18]2 sniknik
Поставь dgrowselect:=true у дб грида.
и тогда при любом щелчке на гриде тебя будет возвращать в начало дбгрида.
← →
sniknik (2003-04-16 16:26) [19]ну во первых зачем? но раз уж начал ладно, поставил dgrowselect у грида и ничего, скачет по тем полям по которым щелкаю, в начало не хочет. (если конечно не щелкнуть в начале)
говорю же глюк у меня, раз все работает так как ожидается. :-))
← →
sapsi (2003-04-17 15:11) [20]2Mike Kouzmine
Так как все же определить, что столбец грида в данный момент видимый
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c