Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/windows-phone-8/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
刷新Wicket数据视图中的数据_Wicket - Fatal编程技术网

刷新Wicket数据视图中的数据

刷新Wicket数据视图中的数据,wicket,Wicket,我的页面上有DropDownChoice和DataView。DataView应根据在DropDownChoice中选择的项目显示数据。我怎样才能做到这一点 多亏了PropertyModel,我可以用一种非常简单的方式更改标签的文本。DataView有som方法吗?不是真的在寻找ajax刷新。非常感谢您的DataView使用DataProvider获取要显示的值。如果将数据视图(或其父级)添加到AjaxRequestTarget中,它将从数据提供程序中重新提取值。您只需确保更改下拉选择中的选择将更

我的页面上有DropDownChoice和DataView。DataView应根据在DropDownChoice中选择的项目显示数据。我怎样才能做到这一点


多亏了PropertyModel,我可以用一种非常简单的方式更改标签的文本。DataView有som方法吗?不是真的在寻找ajax刷新。非常感谢您的
DataView
使用
DataProvider
获取要显示的值。如果将
数据视图
(或其父级)添加到
AjaxRequestTarget
中,它将从
数据提供程序
中重新提取值。您只需确保更改
下拉选择中的选择将更新
数据提供程序

例如

更新

MyDataProvider {

private SomeObject selectedItem;

@Override
public Iterator<? extends SomeOtherObject> iterator(long first, long count) { 
    return this.service.findAllForItem(this.selectedItem).iterator();
}

//+size + setter for selectedItem

}
MyDataProvider{
私有SomeObject selectedItem;
@凌驾

公共迭代器是否可以帮助我更新数据提供程序?我看不到任何方法。只需在DataView对象中使用getDataProvider,而不使用setter。您必须在数据提供程序中创建该方法。我的示例中的
setSelectedItem
不存在;您必须创建它。不要忘记
size()
方法!
MyDataProvider {

private SomeObject selectedItem;

@Override
public Iterator<? extends SomeOtherObject> iterator(long first, long count) { 
    return this.service.findAllForItem(this.selectedItem).iterator();
}

//+size + setter for selectedItem

}