查看: 1589|回复: 0
|
求救!需要java高手+wicket framework专家帮忙!
[复制链接]
|
|
最近工作遇到难题难以解决。。需要这方面的高手帮忙解决难题。。不然难以交货。。:(
以下是难题的简单版本。。看有否谁知道怎样去用event trigger+ajax refresh在list view里面的form component.
I have created a list view which will show number of records in table view and inside the listview contains a textfield and a dropdownchoice field.
What I need to achieve is onchange of the textfield to default the value in the dropdownchoice for a particular record. But appears that when using the following codes, when its only 1 record to be updated, it works, but when multiple records exist, it will fail. Need help! Thanks in advance.
Sample Code:
new ListView("list", getItemList()) {
protected void populateItem(ListItem item) {
final Sl qv = (Sl) item.getModelObject();
item.setModel(new CompoundPropertyModel(qv));
ratio = new TextField("ratio");
item.add(ratio);
ratio.setOutputMarkupId(true);
ratio.add(new AjaxFormComponentUpdatingBehavior("onkeyup") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
getProperties().put("rating" + Sl.getid(), "Strong");
target.addComponent(rating);
}
});
rating = new DropDownChoice("rating", getDdlmodels().get(item.getIndex()), ratingList);
item.add(rating);
rating.setOutputMarkupId(true);
}
}
Note: PropertyModel with ValueMap properties as key (DdlModels) has been used to get and set value of the dropdownchoice. Upon onchange of the textfield, the propertyModel has been updated, however the dropdownchoice has not been refresh/re-rendered even though I have added for ajax refresh.
I believe its something related to the target.add(rating), which I think can't be refreshed in this way, but I can't find other way.
本帖最后由 ss24 于 17-4-2013 03:57 PM 编辑
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|