Обновить всю форму в AX 2012?
В настоящее время я работаю с формой с сеткой внизу. Всякий раз, когда я нажимаю f5, сетка обновляется, а остальная часть формы - нет. Что я могу сделать, чтобы вся форма обновляла данные?
Благодарю.
2 ответа
Вы можете переопределить research
метод на источнике данных:
public void research(boolean _retainPosition = false)
{
super(_retainPosition);
other_ds.research(_retainPosition);
}
other_ds
является источником данных, не присоединенным к текущему источнику данных.
Это зависит от формы, с которой вы работаете. Когда вы нажимаете F5 на записи, он запускает research
метод источника данных, к которому принадлежит запись, или ее родительский источник данных (зависит от запроса формы, например, если вы нажмете F5 на SalesLine в форме SalesTable, SalesTable_ds.research(true)
будет работать). На мой взгляд, если в остальной части вашей формы отображаются поля, принадлежащие этим источникам данных, эти поля будут обновлены. Если поля не принадлежат этим источникам данных, остальная часть вашей формы не будет обновлена (если, например, active
Метод был переопределен для обновления остальной части формы из кода.
Что вы можете сделать, чтобы заставить всю форму обновлять свои данные при нажатии F5: опять же, это зависит от формы, поэтому, не зная всех деталей, сложно что-то посоветовать, но одна из вещей, которые вы можете сделать, это переопределить research
метод на вашем источнике данных и обновите остальную часть формы программно оттуда. Чаще встречается переопределение active
метод, вы должны обычно пойти на это.