如何更改 ADempiere 窗口中的状态栏文本以便在创建新记录时显示消息?
另外,如何创建创建新记录时出现的弹出窗口?
创建新记录时,您可以将消息放在窗口中央,此函数已存在于 iDempiere 上,但在 ADempiere 上,您需要更改每个文档操作或您编码正在侦听的每个表的代码。
在 Idempiere 上,您可以在包 org.adempiere.ui.zk 上检查类 AbstractADWindowContent.java 的代码检查此链接,第 2104 行
以下方法在 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", "");
当您在任何选项卡中单击保存时,这会在应用程序中看到默认的">已保存"消息。
有两种推荐的方法来自定义Adempiere。
- 标注;用于在用户界面 模型验证
- 程序;用于在发生许多数据模型事件(如保存的记录(时应用业务逻辑或验证。 但是,并非所有更改都在 UI 事件发生时发生......例如,与会计模块一样,模型验证器机制假定不存在用户界面。
数据模型事件时,UI 中发生某些事情的要求介于两者之间。 根据您的要求,最简单的方法是修改此默认消息(上面在dataSave()
中突出显示(以显示您想要的内容。 但是GridTable
是应用程序的核心,所以请记住,将来任何时候更新/升级Adempiere时,您都需要再次进行此修改!