09.02.2007, 12:07 | #1 |
Участник
|
update для группы номенклатур
История такая.
на форме есть грид по таблице table, в ней поля с ItemId. Также есть на форме stringEdit = А. Задача заключается, в том чтобы выбрав текст в поле А , нужно изменить по всем ItemId в справочнике номенклатур одно из полей например Desc на значение поля А.. Пытаюсь через modified на этом поле А, а потом при нажатии кнопочке обновлять InventTable. Но загвоздка в том, что значение поля А не сохраняется... Может что подскажите? |
|
09.02.2007, 12:14 | #2 |
Banned
|
Код покажите общественности, пожалуйста.
|
|
09.02.2007, 13:18 | #3 |
Moderator
|
Мне кажется подход не правильный. Поле A должно хранится в базе данных, а тогда и нет проблемы.
|
|
09.02.2007, 13:25 | #4 |
MCTS
|
может вызвать Research на источнике данных - то есть значение м/б сохранилось, просто надо перечитать, или может быть все не в рамках транзакции. Вобщем, верно, нужен код
|
|
09.02.2007, 13:33 | #5 |
Участник
|
значение поля A считывайте как controlA.valueStr() (autoDeclaration у него установите)
для обновления inventTable (если действительно всех строк), используйте update_recordSet - быстрее будет после обновления сделайте research или executeQuery источника inventTable |
|
09.02.2007, 13:39 | #6 |
MCTS
|
и поскольку у него перекрыт update вызовите skipDataMethods(true) перед самим update_recordSet - так будет быстрей
|
|
|
За это сообщение автора поблагодарили: fialka (1). |
09.02.2007, 13:41 | #7 |
Участник
|
А edit метод совсем не подходит? И не надо создавать ничего лишнего...
edit str 10 setValue(boolean _set, str10 _value) { if (_set) { // update } return value; } |
|
09.02.2007, 13:46 | #8 |
Участник
|
Цитата:
Тем более, что номенклатур может быть много, и подвисание после смены поля будет выглядеть не особо красиво. + создавать таки ничего и не нужно. Просто добавить на форму поле, не связанное с источником данных. |
|
|
За это сообщение автора поблагодарили: fialka (1). |
09.02.2007, 13:56 | #9 |
Участник
|
|
|
09.02.2007, 14:14 | #10 |
MCTS
|
X++: void clicked() { super(); InventTable.skipDataMethods(true); update_RecordSet InventTable setting < > = < >.valueStr(); InventTable_ds.research(); } |
|
16.02.2007, 17:03 | #11 |
Участник
|
а можно поподробнее про вариант с edit-методом? И что, если
<обновляемое поле> - тоже FormControl? заранее спасибо |
|
16.02.2007, 17:30 | #12 |
Moderator
|
|
|