powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / set deleted
3 сообщений из 3, страница 1 из 1
set deleted
    #34601495
МашкоБ.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа построена по архитектуре файл-сервер, на форме есть грид иточником данных является localview. В стартовом файле прописал set deleted on, при открытии формы fom.activate написал set deleted on. Но при открытии формы удалённые записи все равно видны, хотя в таблице помечены как удалённые. По нажатию на кнопке удалить запись исчезает и исчезают все записи помеченные на удаление, но при открытии формы все опять видно. Не пойму в чем ошибка. Может при формировании view надо ставить условие !deleted().
...
Рейтинг: 0 / 0
set deleted
    #34601971
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если работа происходит в Private DataSession, то при открытии такой DataSession ряд настроек сбрасываются в значение по умолчанию. В том числе и SET DELETED.

Полный список тех настроек, которые сбрасываются в значение по умолчанию можно посмотреть в описании к команде SET DATASESSION. Только следует иметь в виду, что настройки по умолчанию могут отличаться для Default и Private DataSession.

Открытие таблиц и Local View, если они включены в DataEnvironment формы происходит ДО события Activate-формы. Это значит, что Вы наполняете Local View в момент открытия формы до того, как устанавливаете нужную Вам настройку.

После того, как Вы активировали форму и произошло событие Activate произошла установка настройки SET DELETED ON. После этого, выполнение команды Requery() данные в Local View попадают уже с этой настройкой.


Стратегия работы с Local View при открытии формы следующая:

1) В DataEnvironment отчета в свойствах курсора Local View устанавливается настройка

NoDataOnLoad = .T.

Это означает, что хотя Local View будет открыт, но данными он наполнен не будет. Открытие Local View без данных.

2) Где-то, в каком-то событии открытия формы делается настройка SET DELETED ON. После этой настройки выполняется перезапрос Local View по команде Requery().

В данном случае, под "где-то" может пониматься, в том числе, и свой собственый класс на базе Custom, который кладется на форму, поскольку его событие Init выполняется ДО события Init-формы, где и можно сделать наполнение Local View данными.


Есть и другой вариант:

Можно сделать настройку в LOAD-формы, поскольку это событие происходит ДО открытия таблиц включенных в DataEnvirnment.
...
Рейтинг: 0 / 0
set deleted
    #34606136
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно проще. Если используешь формы с PrivateDataSession, то собери все SET`ы (в т.ч. DELETED) в один PRG (например MySet.prg) и на всех формах вставляй в DataEnvironment.BeforeOpenTables(): DO MySet
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / set deleted
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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