18.05.2010, 13:36 | #1 |
Участник
|
_ds.research(true) не работает
День добрый!
Ситуация следующая. На форме есть два связанных грида. Верхний грид с группировочными строками и суммами. Датасорс этого грида построен на основе временной таблицы. Нижний грид со строками этих групп. Смысл в том, что при изменении чисел в строках, должны персчитываться суммы в верхнем гриде. Перекрыл метод write датасорса строк. В нем делаю расчет сумм и записываю в таблицу с группами, обновляю датасорс групп, чтобы пользователь увидел изменения. После вызова Groups_ds.research(true); сбрасывается позиция в гриде с группами, хотя, судя по описанию метода, она должна сохраниться. В чем может быть дело? Я конечно написал перепозиционирование руками через findRecord, но выглядит не очень красиво.. Спасибо! |
|
18.05.2010, 14:44 | #2 |
Участник
|
В данном случае вам достаточно будет сделать
X++: _ds.reread(); _ds.refresh(); p.s. А с research(true) нужно вообще быть аккуратнее. Вот тут Иван объясняет что это не аналог findRecord. Ищется не конкретная запись в гриде, а позиция. |
|
18.05.2010, 14:58 | #3 |
Участник
|
В том и дело, что надо обновить несколько записей, не только текущую. Т.к. меняем строку, меняется сумма в группе этой строки, потом в родительской группе и т.д.
В принципе мне подойдет и просто позиция. |
|
18.05.2010, 16:36 | #4 |
Участник
|
Вот тут писал про такое же поведение: Kashperuk Ivan: Tutorial: refresh, reread, research, executeQuery - which one to use?
Судя по ответу Ивана, так и должно быть
__________________
Ivanhoe as is.. |
|
18.05.2010, 16:53 | #5 |
Участник
|
Да, читал этот пост. Дело в том, что позиция не сохраняется. После вызова метода, курсор улетает на первую строку. То есть поведение метода с параметром и без никак не отличается.
|
|
18.05.2010, 17:04 | #6 |
Участник
|
Какая версия системы?
__________________
Ivanhoe as is.. |
|
26.05.2010, 18:48 | #7 |
Участник
|
Kernel version: 5.0.1000.52
Application version: 5.0.1001.176 |
|
26.05.2010, 22:43 | #8 |
Боец
|
|
|
27.05.2010, 10:40 | #9 |
Участник
|
Нет,таблица не пересоздается, просто обновляются суммы
|
|
Теги |
research |
|
|