|
|
|
Изменение данных в другой форме.
|
|||
|---|---|---|---|
|
#18+
VB2008, MS SQL 2005. Суть: Есть основная и подчиненная таблицы. Есть форма для редактирования основной таблицы (карточка документа) - основная форма. По кнопке открывается форма с содержимом подчиненной таблицы - подчиненная форма. Надо сделать, что бы если я нажал на основной форме кнопку "отмена", то данные измененные в подчиненной форме тоже не сохранились. Мой вариант решения: При открытии основной формы загружать из БД данные в обе таблицы При открытии подчиненной формы в ней создавать клон таблицы с основной формы, там этот клон редактировать При закрытии подчиненной формы сбрасывать изменения в DataTable основной формы Если на основной форме нажали Ok, то записывать обе таблицы в базу Скажите, плз, это вообще реально или бред? Как вообще делаются подобные вещи? Дайте, плз, пример или ссылку на пример. Еще тонкость: В подчиненной форме должны показываться не все записи из подчиненной таблицы, а отбираться по фильтру. (если это на что-то повлияет :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2009, 14:44 |
|
||
|
Изменение данных в другой форме.
|
|||
|---|---|---|---|
|
#18+
Работать с оригинальной таблицей, при нажатии отмена вызывать DataTable.RejectChanges() , собственно и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2009, 10:13 |
|
||
|
Изменение данных в другой форме.
|
|||
|---|---|---|---|
|
#18+
Спасибо. программно на подчиненной форме создал BindingSource и привязал его к таблице на основной форме. и в нем же сделал фильтр. Идея такая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2009, 10:50 |
|
||
|
Изменение данных в другой форме.
|
|||
|---|---|---|---|
|
#18+
Идея такая что у каждой DataRow есть DataRowState, когда вы что-либо меняете в гриде это автоматически сказывается на этом состоянии, и потом можно проследить что было изменено (это состояние также использует адаптер, для того чтобы узнать какую из команд использовать для обновления БД Update/Insert/Delete), также DataRow хранит всегда данные которые были в состоянии Unchanged, метод таблицы или строки AcceptChanges() сбрасывает состояния всех строк в Unchanged, а с помощью RejectChanges() вы можете вернуть исходные данные, насколько я понял это вам и надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2009, 10:59 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=68&tid=1351725]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 337ms |

| 0 / 0 |
