Как изменить текст строки состояния в окне ADempiere, чтобы отображалось сообщение при создании новой записи?
Кроме того, как я могу создать всплывающее окно, которое появляется при создании новой записи?
Как изменить текст строки состояния в окне ADempiere, чтобы отображалось сообщение при создании новой записи?
Кроме того, как я могу создать всплывающее окно, которое появляется при создании новой записи?
Вы можете поместить сообщение в центр окна при создании новой записи, эта функция уже существует в iDempiere, но в ADempiere вам нужно будет изменить код для каждого документа или для каждой таблицы, которую ваш код прослушивает.
На Idempiere вы можете проверить код класса AbstractADWindowContent.java в пакете org.adempiere.ui.zk, проверьте эту ссылку, строка 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.
Ваше требование, чтобы что-то происходило в пользовательском интерфейсе, когда происходит событие модели данных, находится между ними. Для вашего требования может быть проще просто изменить это сообщение по умолчанию (выделено выше в dataSave()
), чтобы отображать то, что вы хотите. Но GridTable
лежит в основе приложения, поэтому имейте в виду, что каждый раз, когда вы будете обновлять/обновлять Adempiere в будущем, вам придется снова вносить эту модификацию!