0

我有两种形式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)
4

2 回答 2

0

你有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);
于 2017-08-07T09:12:43.377 回答
0

在我的例子中,

  • FormA是 LogisticsPostalAddressGrid(或任何其他形式)。
  • FormB是 LogisticsLocationDefault

单击 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);
            }
        }
    }

}
于 2021-12-20T17:02:41.343 回答