Обновить всю форму в 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 метод, вы должны обычно пойти на это.

Другие вопросы по тегам