|
21.03.2007, 11:25 | #1 |
Участник
|
Восстановление позиционирования в грид
Делаю .update() какой-то записи в грид, затем чтобы увидеть изменения
_ds.research(); _ds.refresh(); А как восстановить позиционирование в гриде на этой обновленной строке? Интересует вариант помимо _ds.reread() |
|
21.03.2007, 11:31 | #2 |
Участник
|
|
|
21.03.2007, 11:32 | #3 |
Мрачный тип
|
Запомнить обновленную запись в табличную переменную, затем у датасорса на форме
метод findRecord(<табличная переменная>). |
|
21.03.2007, 11:46 | #4 |
Участник
|
|
|
21.03.2007, 11:56 | #5 |
NavAx
|
X++: Table localTable; ; localTable.data(Table); Table_ds.research(); Table_ds.findRecord(localTable); |
|
|
За это сообщение автора поблагодарили: blitzkrieg (1). |
21.03.2007, 11:33 | #6 |
Axapta
|
findRecord
(activated by findValue) The super() call finds a specific record and makes it the current one. findValue the user clicks the Find Value command in the shortcut menu on a form control. The super() call finds the specified value, and makes the record with that value the current one using findRecord. |
|
21.03.2007, 12:04 | #7 |
Участник
|
не работает
X++: void clicked() { InventTable it = InventTable; super(); InventTable_ds.research(); InventTable_ds.findRecord(it); } |
|
21.03.2007, 12:12 | #8 |
Axapta
|
It после ресерча другим стал у вас. Можете поставить брейкпоинт и убедится. Выше привели код, который должен работать.
|
|
21.03.2007, 12:15 | #9 |
NavAx
|
Вы забыли строку - it.data(InventTable);
X++: void clicked() { InventTable it = InventTable; it.data(InventTable); // Присвоение InventTable_ds.research(); InventTable_ds.findRecord(it); } Последний раз редактировалось LEX; 21.03.2007 в 12:17. |
|