0

如何更改 ADempiere 窗口中的状态栏文本,以便在创建新记录时显示消息?

另外,如何创建一个在创建新记录时出现的弹出窗口?

4

2 回答 2

0

创建新记录时,您可以在窗口中心放置一条消息,该功能在 iDempiere 上已经存在,但在 ADempiere 上,您需要更改每个 docaction 的代码,或者您的代码正在侦听的每个表。

在 Idempiere 上,您可以检查包 org.adempiere.ui.zk 上的AbstractADWindowContent.java类的代码检查此链接,第 2104 行

于 2015-03-02T17:54:55.997 回答
0

您可以使用以下方法在Adempiere的状态栏中放置状态消息org.compiere.model.GridTable

/**
 *  Create and fire Data Status Info Event
 *  @param AD_Message message
 *  @param info additional info
 */
protected void fireDataStatusIEvent (String AD_Message, String info)
{
    DataStatusEvent e = createDSE();
    e.setInfo(AD_Message, info, false,false);
    fireDataStatusChanged (e);
}

dataSave(boolean)当通过该方法保存行时,您将在同一类中找到其使用示例。如果一切按计划进行并在方法结束时保存记录,您将看到

fireDataStatusIEvent("Saved", "");

当您在任何选项卡中单击保存时,这会将默认的“<strong>已保存”消息显示在应用程序中。

有两种推荐的方法来定制 Adempiere。

  1. 标注;用于在用户界面中添加复杂的默认设置和验证
  2. 模型验证器;用于在发生许多数据模型事件(例如正在保存的记录)时应用业务逻辑或验证。但是,并非所有更改都在 UI 事件发生时发生……例如,与会计模块一样,因此模型验证器机制假设不存在用户界面。

当数据模型事件发生时,您需要在 UI 中发生某些事情的要求介于两者之间。根据您的要求,最简单的方法可能是修改此默认消息(在上方突出显示dataSave())以显示您想要的内容。但GridTable它是应用程序的核心,因此请记住,将来任何时候更新/升级Adempiere时,您都需要再次进行此修改!

于 2015-10-09T19:17:56.687 回答