|
|
|
set deleted
|
|||
|---|---|---|---|
|
#18+
Программа построена по архитектуре файл-сервер, на форме есть грид иточником данных является localview. В стартовом файле прописал set deleted on, при открытии формы fom.activate написал set deleted on. Но при открытии формы удалённые записи все равно видны, хотя в таблице помечены как удалённые. По нажатию на кнопке удалить запись исчезает и исчезают все записи помеченные на удаление, но при открытии формы все опять видно. Не пойму в чем ошибка. Может при формировании view надо ставить условие !deleted(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 12:41 |
|
||
|
set deleted
|
|||
|---|---|---|---|
|
#18+
Если работа происходит в 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 14:26 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34606136&tid=1589126]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 362ms |

| 0 / 0 |
