如何使用 AJAX 更新 Wicket DataView?
我需要按 Wicket DataView
中显示的 PsDoctrans
用户列表进行 AJAX 完全过滤。
final TextField txtName= new TextField("user");
final PSDocDP dp = new PSDocDP("username");
DataView<PsDoctrans> dataView = new DataView<PsDoctrans>("unproc", dp)
{
@Override
protected void populateItem(final Item<PsDoctrans> item)
...
};
PSDocDP
是:
public class PSDocDP extends SortableDataProvider<PsDoctrans>
{...}
final WebMarkupContainer wmc = new WebMarkupContainer("container");
wmc.add(dataView);
wmc.setOutputMarkupId(true);
AjaxButton butFind=new AjaxButton("find"){
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form)
{
String value=(String)txtName.getModelObject();
dp = new PSDocDP(value);
target.addComponent(wmc);
}
};
提交后,没有任何变化。该程序显示一些数据,但没有过滤。我怎样才能进行过滤?
I need to AJAXfully filter by users list of PsDoctrans
which is shown in a Wicket DataView
.
final TextField txtName= new TextField("user");
final PSDocDP dp = new PSDocDP("username");
DataView<PsDoctrans> dataView = new DataView<PsDoctrans>("unproc", dp)
{
@Override
protected void populateItem(final Item<PsDoctrans> item)
...
};
PSDocDP
is:
public class PSDocDP extends SortableDataProvider<PsDoctrans>
{...}
final WebMarkupContainer wmc = new WebMarkupContainer("container");
wmc.add(dataView);
wmc.setOutputMarkupId(true);
AjaxButton butFind=new AjaxButton("find"){
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form)
{
String value=(String)txtName.getModelObject();
dp = new PSDocDP(value);
target.addComponent(wmc);
}
};
After submitting, nothing changes. The program shows some data, but it isn't filtering. How can I make filtering happen?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用与此类似的结构,所以它应该可以工作。
您真的在回调中创建了一个新的“dp”对象吗?您应该简单地更改数据提供程序的状态 - 组件应该如何获取更改后的提供程序。
I use constructions comparable to this, so it should work.
Do you really create a new "dp" object in the callback. You should simply change the state of the data provider - how should the component ever get the changed provider.