Обновить всю форму в AX 2012?

В настоящее время я работаю с формой, которая имеет сетку внизу. Всякий раз, когда я нажимаю f5, сетка обновляется, а остальная часть формы - нет. Что я могу сделать, чтобы вся форма обновила свои данные?

Спасибо.


person Mr. Dynamic    schedule 03.10.2012    source источник


Ответы (2)


Вы можете переопределить метод research для источника данных:

public void research(boolean _retainPosition = false)
{
    super(_retainPosition);
    other_ds.research(_retainPosition);
}

other_ds — это источник данных, к которому не присоединен текущий источник данных.

person Jan B. Kjeldsen    schedule 04.10.2012
comment
Разве refresh не вызывается в AX 4.0, но в AX 2009/2012 research вызывается при нажатии F5, а refresh запускается при нажатии Ctrl+F5? - person 10p; 04.10.2012
comment
Мой не требовал использования другого источника данных, но это привело меня на правильный путь, отменив метод исследования. У меня был модифицированный метод поиска идентификатора моего предмета, который я добавил в исследование, и теперь он работает! Спасибо! - person Mr. Dynamic; 04.10.2012

Это зависит от формы, с которой вы работаете. Когда вы нажимаете F5 на записи, она запускает research для источника данных, которому принадлежит запись, или его родительского источника данных (зависит от запроса формы, например, если вы нажмете F5 на SalesLine в форме SalesTable, будет запущен SalesTable_ds.research(true)). Насколько я понимаю, если в остальной части вашей формы отображаются поля, принадлежащие этим источникам данных, то эти поля будут обновлены. Если поля не принадлежат этому источнику данных, остальная часть вашей формы не будет обновлена ​​(если, например, не будет active был переопределен для обновления остальной части формы из кода.

Что вы можете сделать, чтобы вся форма обновляла свои данные при нажатии F5: опять же, это зависит от формы, поэтому, не зная всех деталей, сложно что-то посоветовать, но одна из вещей, которые вы можете сделать, это переопределить research в вашем источнике данных и программно обновите остальную часть формы оттуда. Чаще всего переопределяют метод active, обычно вы должны использовать его.

person 10p    schedule 04.10.2012