powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не работает без wait
6 сообщений из 6, страница 1 из 1
не работает без wait
    #32416300
Katty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста:
Есть форма с гридом. Грид связан с таблицей. В гриде встаю на строку, запоминаю ее и вызываю другую форму. После работы с ней пытаюсь вернуться в гриде на исходную строку, используя locate. Если перед locate поставить wait wind timeout=0.01 (или что-то в этом роде) - курсор прекрасно становится на нужную запись. Если убрать wait - остается на первой записи.
Такое бывает, или я сошла с ума?
...
Рейтинг: 0 / 0
не работает без wait
    #32416312
А как вы запоминаете строку в GRID'e?
Не проще ли запомнить номер текущей строки и затем просто выполнить позиционирование через GO? Это нормально работает.
А с ума вы не сошли. В фоксе полно подобных глюков.
...
Рейтинг: 0 / 0
не работает без wait
    #32416742
Katty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запоимнаю значение ключевого поля и ищу командой locate for
...
Рейтинг: 0 / 0
не работает без wait
    #32416814
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Перед вызовом дочерней формы надо принудительно убрать фокус из Grid. Переключится на любой другой объект формы. Например:

ThisForm.CommandButton1.SetFocus()

2. При возврате в родительскую форму после поиска нужной записи надо также принудительно передать фокус в Grid

ThisForm.Grid1.SetFocus()
...
Рейтинг: 0 / 0
не работает без wait
    #32416865
to Katty:
В Grid открыта таблица. Вы устанавливаете указатель на какую-либо строку. Затем вызываете другую форму.
В этой форме вы меняете положение указателя в таблице? (то есть перемещаетесь по записям)? Если нет, то делайте, как сказал ВладимирМ. И не надо никакого Locate.
Если же в вызываемой форме вы переходите на другие записи, то в методе элемента (кнопке или TextBox'e Grid'a), из которого вызывается форма, запомните номер текущей записи:
nRecord = RECNO()
DO FORM MyForm
SELECT алиас_таблицы
GO nRecord
thisform.Grid1.SetFocus
...
Рейтинг: 0 / 0
не работает без wait
    #32418772
Katty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ваш вариант тоже работает только если перед GO ставить wait... Иначе курсор так же соскакивает на первую запись... Не знаю уже что и думать.

******************
obse=sele()

n_record=recno()
thisform.visible=.F.
do form form_pp

thisform.visible=.T.
sele(obse)

wait wind timeout 0.001

go n_record
thisform.grid.SetFocus()
********************
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не работает без wait
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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