![](/img/trans.png)
[英]How to “allow edit” newly added fields in a form? for Dynamics AX (AX7/D365)
[英]How to refresh a form in dynamics ax7/365
我有兩種形式FormA ( SalesTable ) 和FormB ( SalesAvailableDlvDates )。
在FormA 中,我將單擊一個按鈕以打開FormB 。
然后我將單擊FormB中的另一個按鈕,這將使我回到FormA 。
我想要發生的是,當我單擊FormB 中的按鈕時,我想在返回該表單時刷新FormA 。
那可能嗎?
這是FormB中的按鈕,當我單擊它時,我將返回FormA :
[FormControlEventHandler(formControlStr(SalesAvailableDlvDates, TransferToConfirmedButton), FormControlEventType::Clicked)]
public static void TransferToConfirmedButton_OnClicked(FormControl sender, FormControlEventArgs e)
您有FormControl sender
-引發事件的表單控件。
以下內容對您有用嗎?
FormRun formRun = sender.formRun(); // get the caller form
FormObjectSet ds = formRun.dataSource(); // caller form's datasource
ds.reread();
ds.refresh(); // refresh values in the caller form
//or ds.research(true);
在我的例子中,
單擊 LogisticsLocationDefault (FormB) 表單上的 OK 按鈕,將刷新 LogisticsPostalAddressGrid (FormA) 上的數據。
請在下面找到 LogisticsLocationDefault 表單的示例。
/// <summary>
/// Valery Moskalenko, 12/20/2021
/// </summary>
class MyLogisticsLocationDefault_FormEventHandler
{
/// <summary>
/// Refresh caller form (LogisticsPostalAddressGrid) on clicking the OK button.
/// </summary>
/// <param name="_sender">FormControl</param>
/// <param name="_e">FormControlEventArgs</param>
[FormControlEventHandler(formControlStr(LogisticsLocationDefault, OK), FormControlEventType::Clicked),
SuppressBPWarningAttribute('BPParameterNotUsed', 'This is expected and can be skipped')]
public static void OK_OnClicked(FormControl _sender, FormControlEventArgs _e)
{
FormRun formRun = _sender.formRun();
if (formRun)
{
FormRun callerFormRun = formRun.args().caller();
if (callerFormRun)
{
#Task
callerFormRun.task(#taskRefresh);
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.