更改ADempiere窗口的状态栏

时间:2014-10-07 14:53:53

标签: popup statusbar adempiere

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

另外,如何创建在创建新记录时显示的弹出窗口?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以使用org.compiere.model.GridTable

中的以下方法在 Adempiere 的状态栏中输入状态消息
/**
 *  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", "");

当您在任何标签页中点击保存时,会在应用程序中看到默认的“已保存”消息。

有两种推荐方法可以自定义Adempiere。

  1. 标注;用于添加复杂的默认&验证 用户界面
  2. 模型验证器;用于在发生许多数据模型事件(例如正在保存的记录)时应用业务逻辑或验证。但是,并非所有更改都在UI事件发生时发生...例如,与记帐模块一样,因此模型验证器机制假定不存在用户界面。
  3. 当数据模型事件发生时,您在UI中发生某些事情的要求落在两者之间。根据您的要求,最简单的方法是修改此默认消息(在dataSave()上面突出显示)以显示您想要的内容。但GridTable是应用程序的核心,请记住,以后每次更新/升级 Adempiere 时,您都需要再次进行此修改!