【发布时间】:2011-11-23 15:22:27
【问题描述】:
我得到了以下结构,它在 html 表格中显示可编辑的行
Panel
+ WebMarkupContainer - in HTML <tbody wicket:id="container">
+ ListView which for each item in the list does (in HTML this)
+ item.add(new PopTable1Row("Pop1Panel", popTable1Item, ComponentMode.EDIT));
+ PopTable1Row component contains
+ Form
+ some inputs and a 2 submit buttons (Save, Delete)
现在我想实现这一点,例如通过单击删除列表视图将像 AJAX 一样重新加载而不重新加载整个页面。 Delete 按钮从表中删除一行,所以一行应该会消失。
我通过使用 AjaxSelfUpdatingTimerBehavior 实现了重新加载 ListView:
WebMarkupContainer.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(5)));
它每 5 秒刷新一次 listView。
好的,但现在我想刷新 onSubmit 中的列表视图,例如删除按钮。
这里的问题是:如何做到这一点?
我在onSubmit试过:
this.getParent().getParent().getParent().getParent().render();
this.getParent().getParent().getParent().getParent().renderComponent();
但两者都不起作用。
【问题讨论】:
-
按钮是 Ajax 按钮?如果是这样,他们会得到一个传入的 AjaxTarget。只需将 WMC 添加到目标即可。
标签: ajax apache listview refresh wicket