powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сохранение курсора на строке в DBGrid
14 сообщений из 14, страница 1 из 1
Сохранение курсора на строке в DBGrid
    #39723828
Sensor230
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бяда-Бяда-Огорчение!!! Есть Form2.DBGrid1->Form2.DataSource1->Form1.ADOQuery1->Form1.AdoConnection1 после редактирования записи например через Form3.Memo1.Lines.Add при возвращении на форму с DBGrid-ом курсор перескакивает на первую строку. Перекопал весь тырьнет - или написано одними скобками на 5 листов, или все равно не для меня ))))))... Может кто поделиться с нубом самым простым способом как закрепить курсор на выбраной строке? Побывал при клике на строку запоминать в глобальной переменной ее код(ну тот что инкрементный и не повторимый) запоминать -запоминается, а воспользоваться почему то все равно не получается. Спасибо!
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723840
Alexander Zuev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо придерживаться примерно такой схемы:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  uses DB;
  ...

  var LBookmark: TBookmark;
  ...
  // Непосредственно перед редактированием
  LBookmark := Form1.ADOQuery1.GetBookmark;

  ...

  // "при возвращении на форму с DBGrid-ом"
  Form1.ADOQuery1.GotoBookmark(LBookmark);
  Form1.ADOQuery1.FreeBookmark(LBookmark);
  ...
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723861
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sensor230,

от классиков, которые тогда еще были живы

3207043
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723871
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sensor230как закрепить курсор на выбраной строке

Что именно подразумеваешь под "закрепить"?
Зафиксировать, чтобы не двигалось или просто запомнить ID записи, сделал закладку, чтобы потом вернуться?
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723872
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sensor230а воспользоваться почему то все равно не получается

ошибка в 17ой строке
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723921
Sensor230
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander Zuev,
Спасибо, все работает. Видимо сегодня на свежую голову все получилось)))). Метка объявлена как глобальная переменная, при клике на DBGrig происходит ее перезапись, а по вовращении с другой формы или при переотрисовке /перезапросе Goto на место... СПС.
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723923
Sensor230
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док,
Спасибо за быстрый ответ, я не программер, поэтому мне годиться самый простой пример. для меня если в коде присутствуют слова кроме if, begin, else и end (например - try) - это уже высшая математика вызывающая зуд в самых неприличных местах )))). Уверен что и этот ответ будет кому нибудь полезным. Спасибо за помощь.
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723924
Sensor230
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11,
Бот? ))))
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39723943
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sensor230мне годиться самый простой пример
Хорошо. Когда твоя программа начнет валиться из-за несуществующего курсора - приходи :)
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39850874
Sensor230
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДокSensor230мне годиться самый простой пример
Хорошо. Когда твоя программа начнет валиться из-за несуществующего курсора - приходи :)
Ок, приду)))). Мне кажется, что она повалиться только при попытке возврата на удалённую строку, а это исключено, т.к. тот кто удаляет строки - метки не ставит, а тот кто ставит - не удаляет, а при возврате исключение в виде отсутствия меченой строки -обрабатыается. Ну если что вдруг - приду))).
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39850878
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы перед использованием проверил сохранённый букмарк на валидность
Хотя в примере "от классиков, которые тогда еще были живы
"
этого нет, но кто знает, как там IDs формируются. Не факт, что они автоинкрементные и прочее
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39851268
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sensor230Мне кажется, что она повалиться только при попытке возврата на удалённую строку, а это исключено
Ты даже не представляешь, что иногда вытворяет код компоненты внутри оберток из процедур и функций Особенно, если это компонента не из стандартного набора или от известного вендора.

И хорошо, если ты на 1-2-3...5-сотой компиляции нарываешься на ошибку, а потом начинаешь дебажить и офигевать...

"Жизнь - это коробка шоколадных конфет..." © :)
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39851572
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
procedure SQLMyTable;
var
  SatzID: string;
begin
  SatzID := '';
  with MyTable_Query do
  begin
    DisableControls;
    if Active then
      SatzID := FieldByName('MyTableID').AsString;
    Close;
    SQL.BeginUpdate;
    SQL.Clear;
    SQL.Add('SELECT * FROM MyTable WHERE  ... ');
    SQL.EndUpdate;
    Open;

    if Not(SatzID = '') then
      if not Locate('MyTableID', SatzID, []) then
        First;

    EnableControls;
  end;
end;
...
Рейтинг: 0 / 0
Сохранение курсора на строке в DBGrid
    #39851624
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sensor230Докпропущено...

Хорошо. Когда твоя программа начнет валиться из-за несуществующего курсора - приходи :)
Ок, приду)))). Мне кажется, что она повалиться только при попытке возврата на удалённую строку, а это исключено, т.к. тот кто удаляет строки - метки не ставит, а тот кто ставит - не удаляет, а при возврате исключение в виде отсутствия меченой строки -обрабатыается. Ну если что вдруг - приду))).

для начала научись различать окончания
-ться и -тся
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сохранение курсора на строке в DBGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]