Последняя версия DataExpress 3 beta от 12 февраля 2020 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

фокус на строке запроса при обновлении

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
rausNT
Специалист
Сообщения: 715
Зарегистрирован: Чт авг 24, 2017 9:23 am
Благодарил (а): 88 раз
Поблагодарили: 7 раз

фокус на строке запроса при обновлении

Сообщение rausNT » Чт сен 12, 2019 12:53 pm

Подскажите пожалуйста, как можно сделать так, чтобы при изменении запроса фокус оставался на выделенной ранее строке?

поясню: В запросе возращено 300 строк. Даблкликом отрываем одну из записей (допустим 265 в запросе) и вносим инф., на основании которой она уже не попадает в этот фильтр. Строк становится 299, запрос обновляется а строка выделяется первая при этом, и приходится обратно листать на 265 строку, что очень муторно.
Можно что то придумать?

Заранее спасибо!

kok80
Эксперт
Сообщения: 325
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 2 раза
Поблагодарили: 22 раза

фокус на строке запроса при обновлении

Сообщение kok80 » Чт сен 12, 2019 1:17 pm

Код: Выделить всё

  x:=dxQueryGrid1.Recid;
  dxQueryGrid1.Refresh;
  dxQueryGrid1.GotoRecord(x);

Аватара пользователя
rausNT
Специалист
Сообщения: 715
Зарегистрирован: Чт авг 24, 2017 9:23 am
Благодарил (а): 88 раз
Поблагодарили: 7 раз

фокус на строке запроса при обновлении

Сообщение rausNT » Чт сен 12, 2019 1:26 pm

kok80 писал(а):

Код: Выделить всё

 
  dxQueryGrid1.GotoRecord(x);


а как событие обновления запроса отследить?

kok80
Эксперт
Сообщения: 325
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 2 раза
Поблагодарили: 22 раза

фокус на строке запроса при обновлении

Сообщение kok80 » Чт сен 12, 2019 2:13 pm

предполагаю сохранить позицию нужно в OnBeforeOpen
восстановить в OnAfterOpen

Аватара пользователя
rausNT
Специалист
Сообщения: 715
Зарегистрирован: Чт авг 24, 2017 9:23 am
Благодарил (а): 88 раз
Поблагодарили: 7 раз

фокус на строке запроса при обновлении

Сообщение rausNT » Чт сен 12, 2019 3:00 pm

Код: Выделить всё

x:=dxQueryGrid1.Recid;


это возращает ID записи, а нужно бы номер строки в запросе.

Аватара пользователя
Develop-Soft
Сообщения: 1234
Зарегистрирован: Вт мар 05, 2019 6:09 pm
Благодарил (а): 114 раз
Поблагодарили: 292 раза
Контактная информация:

фокус на строке запроса при обновлении

Сообщение Develop-Soft » Чт сен 12, 2019 4:06 pm

Тогда не .Recid а .Recno надо сохранять и переходить c .MoveTo (хотя в сети можно с обоими облом получить).

kok80
Эксперт
Сообщения: 325
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 2 раза
Поблагодарили: 22 раза

фокус на строке запроса при обновлении

Сообщение kok80 » Чт сен 12, 2019 4:16 pm


Аватара пользователя
rausNT
Специалист
Сообщения: 715
Зарегистрирован: Чт авг 24, 2017 9:23 am
Благодарил (а): 88 раз
Поблагодарили: 7 раз

фокус на строке запроса при обновлении

Сообщение rausNT » Чт сен 12, 2019 4:16 pm

Develop-Soft писал(а):Тогда не .Recid а .Recno надо сохранять (хотя в сети можно с обоими облом получить).


ага, всегда значение 0 получаю.
Но где то же хранится этот значение этого треугольника?
(наверное ответ где то на поверхности)

треугольник.PNG
треугольник.PNG (3.71 КБ) 311 просмотров

Аватара пользователя
Develop-Soft
Сообщения: 1234
Зарегистрирован: Вт мар 05, 2019 6:09 pm
Благодарил (а): 114 раз
Поблагодарили: 292 раза
Контактная информация:

фокус на строке запроса при обновлении

Сообщение Develop-Soft » Чт сен 12, 2019 4:21 pm

Не, это битва экстрасенсов за самый "правильный" код... Проще было бы наверное "всех показать", чтобы "всех посмотреть"...

Аватара пользователя
rausNT
Специалист
Сообщения: 715
Зарегистрирован: Чт авг 24, 2017 9:23 am
Благодарил (а): 88 раз
Поблагодарили: 7 раз

фокус на строке запроса при обновлении

Сообщение rausNT » Чт сен 12, 2019 4:47 pm

ну вот пока так. Событие возникает, но строка равна 0.
MOVETO.7z
(38.3 КБ) 20 скачиваний

пока не написал переход, но это бесполезно.