如果用户从表单 B 返回列表,如何刷新表单 A 中的列表
How to refresh a list in form A if user goes back to it from form B
这可能真的很容易解决,但我已经坚持了一段时间。
正如标题所示,我在表单 A 中有一个 ContainerList,如果用户从表单 B 中按 'back navigation',我想用新数据刷新它。
通过单击表单 A 中的列表元素导航到表单 B。
如果我使用 'back' 导航到达它,则表单 A 的代码不是 运行。
我正尝试在代码中执行此操作。
提前致谢。
从 Form B 中删除默认的返回命令并创建一个新命令。
创建 Form A 的新实例 并将其显示在新创建的返回命令中。
如果您使用的是图形用户界面生成器表单,请执行以下操作:
@Override
protected void beforeFormB(Form f) {
f.removeAllCommand();
f.setBackCommand(null);
Command back = new Command("Back") {
@Override
public void actionPerformed(ActionEvent evt) {
Form backForm = (Form) createContainer("/theme", "Form A");
backForm.showBack();
beforeShow(backForm);
postShow(backForm);
//If your form was hand coded, do this instead
new FormA().showBack();
}
};
back.putClientProperty("uiid", "BackCommand");
f.setBackCommand(back);
}
这可能真的很容易解决,但我已经坚持了一段时间。 正如标题所示,我在表单 A 中有一个 ContainerList,如果用户从表单 B 中按 'back navigation',我想用新数据刷新它。 通过单击表单 A 中的列表元素导航到表单 B。 如果我使用 'back' 导航到达它,则表单 A 的代码不是 运行。
我正尝试在代码中执行此操作。
提前致谢。
从 Form B 中删除默认的返回命令并创建一个新命令。
创建 Form A 的新实例 并将其显示在新创建的返回命令中。
如果您使用的是图形用户界面生成器表单,请执行以下操作:
@Override
protected void beforeFormB(Form f) {
f.removeAllCommand();
f.setBackCommand(null);
Command back = new Command("Back") {
@Override
public void actionPerformed(ActionEvent evt) {
Form backForm = (Form) createContainer("/theme", "Form A");
backForm.showBack();
beforeShow(backForm);
postShow(backForm);
//If your form was hand coded, do this instead
new FormA().showBack();
}
};
back.putClientProperty("uiid", "BackCommand");
f.setBackCommand(back);
}