13.08.2011, 20:31 | #1 |
Участник
|
Обновление записи на форме
Всем добрый день!
Подскажите, пожалуйста, как быть в следующей ситуации. Есть 2 формы, из первой формы (находясь в гриде на нужной записи) вызываю вторую и при сохранении записи второй формы изменяю данные первой. Когда закрываю вторую форму запись первой не обновилась, изменения отображаются только при нажатии F5. Изменения полей первой формы пишу в методе update() таблицы второй формы. Подскажите как в том же методе update() таблицы второй формы обновить запись первой, чтобы при закрытии 2-ой формы сразу отображались изменения. |
|
13.08.2011, 21:04 | #2 |
северный Будда
|
сделайте reread и refresh первого датасоурса после завершения обновления
__________________
С уважением, Вячеслав |
|
13.08.2011, 21:11 | #3 |
Участник
|
Я писала так:
buildTable.dataSource().reread(); Но при выполнении выдается ошибка в этой строке: Объект не инициализирован. Я же это пишу не на форме, а в методе таблицы. |
|
13.08.2011, 21:33 | #4 |
северный Будда
|
в самой таблице датасоурс вы и не обновите, потому что датасоурс - атрибут формы, а не таблицы.
Вам надо на нужной форме создать метод updateSource, в котором написать buildTable_DS.reread() и buildTable_DS.refresh(). И вызывать этот метод для обновляемой строки датасоурса при переходе на него .
__________________
С уважением, Вячеслав |
|
13.08.2011, 22:29 | #5 |
Участник
|
А вызывать этот метод потом где? На форме или в методе таблицы?
|
|
15.08.2011, 08:13 | #6 |
Участник
|
Таблица ничего не знает про формы. Потому не в ней.
|
|
15.08.2011, 08:35 | #7 |
Участник
|
Не совсем так. Через метод common.dataSource() можно добраться до источника данных формы и из таблицы.
Другое дело что в общем случае с одной таблицей может быть связано несколько форм и возможно не на каждой нужно выполнять обновление. Или, вообще, в какой-то момент таблица может быть задействована непосредственно из кода и тогда про связь с каким-то конкретным DataSource говорить не приходиться. Также часто обновлять требуется одновременно несколько источников данных формы. В общем, обновление источника данных просто логичнее делать на основании событий формы, а не событий таблицы. Причём непосредственно код реализующий обновление может быть (и это правильнее) вынесен с формы и помещён в сопровождающий форму класс. |
|
|
За это сообщение автора поблагодарили: Dron AKA andy (1). |