Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Открывается окно w_1 (response!). В нем есть dw_1, которое при открытии окнa заполняется данными. Из этого же окна можно вызвать еще одно окошко w_2 (response!). Здесь пользователь делает изменения в БД. Нужно, чтобы эти изменения были видны в окне w_1 (причем изменять нужно только те поля, в которых произошли изменения). База данных - Access (AutoCommit = TRUE). На кнопке cb_save в окне w_2 пишу: DataWindowChild ldwc ... save... IF IsValid(w_1) THEN w_1.dw_1.GetChild('dddw_1', ldwc) ldwc.SetTransObject(sqlca) ldwc.Retrieve() END IF Не делает вообще никаких изменений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 20:12 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Ох и придумали же Вы, себе задачку. Похоже, что "покой нам только снится.." Открывайте свое второе окошко с параметром, в качестве которого передавайте ссылку на свое dw, что-то вроде openWithparm(w_2, dw_1) В w_2: - объявляете Instace Variable dataWindow i_dw - в событии open проверяете и получаете переданную ссылку что-то вроде того Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2004, 06:08 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Guest_2Ох и придумали же Вы, себе задачку. Похоже, что "покой нам только снится.." Открывайте свое второе окошко с параметром, в качестве которого передавайте ссылку на свое dw, что-то вроде openWithparm(w_2, dw_1) В w_2: - объявляете Instace Variable dataWindow i_dw - в событии open проверяете и получаете переданную ссылку что-то вроде того Код: plaintext 1. 2. 3. 4. 5. 6. К сожалению не помогло. Результат такой же. Какая-то проблема именно с обновлением, а не со связью с первым окном. Т.е. если написать в моем коде w_1.dw_1.Visible = FALSE, то dw_1 исчезнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2004, 23:03 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Логично, что если сделать: "w_1.dw_1.Visible = FALSE" , то "dw_1 исчезнет" Если связь с dw_1 у Вас установлена и работает, то требуется, что бы Вы, внятно изложили свою проблему. PS. Проблема не в связи, а в коде обновления, который выми не был приведен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 06:47 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
2Riska В данном случае поможет shared datawindow . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 11:10 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял задачу, то в w_2 правится таблица справочник которая используется как DropDownDataWindow в первом окне? Проблема скорее всего вот в этом: Riska База данных - Access (AutoCommit = TRUE). попробуй сделать принудительный commit непосредственно перед ldwc.SetTransObject(sqlca) ldwc.Retrieve() Кстати, если в главном DW (которое в w_1) для dddw_1 указана галочка AutoRetrive то повторный SetTransObject уже не обязателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 01:32 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Alexander Kolotinets2Riska В данном случае поможет shared datawindow . В моем случае нельзя сделать shared datawindow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 15:29 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
White Owl попробуй сделать принудительный commit непосредственно перед ldwc.SetTransObject(sqlca) ldwc.Retrieve() Если commit auto, то нет принуждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 15:31 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Riska Alexander Kolotinets2Riska В данном случае поможет shared datawindow . В моем случае нельзя сделать shared datawindow Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 18:30 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Филипп Riska Alexander Kolotinets2Riska В данном случае поможет shared datawindow . В моем случае нельзя сделать shared datawindow Почему? Нет никакой связи между этими двумя DW, кроме одного единственного поля. А в другом месте окна w_2 выполняется команда "update" вообще без применения DW. Скажем, что при открытии окна w_2 переменная а = а + 1. Теперь мне надо сохранить это изменение в базе данных (это работает нормально), а потом отобразить это изменение в w_1 (это работает, если я закрою окно w_1, а потом открою его опять. Но в данном случае я теряю все изменения, сделанные (но не сохраненные) в w_1 перед открытием окна w_2). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 14:31 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
А вот это тогда Вы зачем привели? Код: plaintext 1. 2. 3. 4. и то что изложено в 1117034 никак не согласуется. Если shared нельзя то остается только по всем строкам w2 пройтись и для каждой колонки проверить GetItemStatus(...) и есть ли соответствующий column в w1. Ну и переносить GetItem/SetItem + установка SetItemStatus(NotModified!) в w1 чтобы оно не пыталось это значение еще раз в базу сохранить. Короче - скучно не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:53 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейА вот это тогда Вы зачем привели? Код: plaintext 1. 2. 3. 4. и то что изложено в 1117034 никак не согласуется. Great minds think alike :-) Только я собрался то же самое в более грубой форме, как ужо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 18:44 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
отож! у меня ж какая фора по времени относительно Массачусетцщины! когда вы еще недавно проснулись, мы то ужо пообедали, соответственно добрее и спокойнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 22:02 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Еще раз. Я, наверное, плохо объяснил. Открываем окно w_2. Делаем A = A + 1. Сохраняем в базе данных в том поле, которое отображает dddw_1 из окна w_1. Теперь нужно что-то сделать, чтобы значение A изменилось в dddw_1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 17:01 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. Поскольку w_2 - responce!, код после вызова Open() выполнится после того, как w_2 закроется, а следовательно, если в w_2 данные сохранены в БД, они будут зачитаны и появятся в dddw. Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 17:14 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Так если надо значение в поле поменять - так и делайте SetItem. Зачем dddw то из базы перечитывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 17:57 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
gerss Код: plaintext 1. 2. 3. 4. Поскольку w_2 - responce!, код после вызова Open() выполнится после того, как w_2 закроется, а следовательно, если в w_2 данные сохранены в БД, они будут зачитаны и появятся в dddw. Сергей Собственно, я с этого и начал. У меня этот код почему-то не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 15:02 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
It is good practice to test the success/failure code after calling GetChild function. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 16:06 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Riska gerss Код: plaintext 1. 2. 3. 4. Поскольку w_2 - responce!, код после вызова Open() выполнится после того, как w_2 закроется, а следовательно, если в w_2 данные сохранены в БД, они будут зачитаны и появятся в dddw. Сергей Собственно, я с этого и начал. У меня этот код почему-то не работает. А что именно не работает? Может быть, после сохранения в БД нет COMMIT-а? Или Update в w_2 проходит с ошибкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 17:44 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейТак если надо значение в поле поменять - так и делайте SetItem. Зачем dddw то из базы перечитывать? Riska, выше что-то непонятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 18:02 |
|
||
|
Обновление DW из другого окна.
|
|||
|---|---|---|---|
|
#18+
Вы ж ретриваете drop-down (который если и изменился то изменился только лист содержащийся в нём) а значение-то у вас меняется в основном, я так понимаю. Ретривать надо главное dw, не drop-down (или оба если dddw тоже меняется). Или я чего-то упустил? Я думаю, что нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 17:08 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32798584&tid=1338686]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 433ms |

| 0 / 0 |
