gpt4 book ai didi

java - 为什么 Wicket ListView 仅将更改分配给最后一行?

转载 作者:行者123 更新时间:2023-11-29 03:55:10 24 4
gpt4 key购买 nike

1) 我正在使用 ListView从数据库中填充一些 2 个标签。该表有 100 行,所以我得到 100 <TD>秒。这很好用。

this.selectView = new PageableListView("selectedBG", new PropertyModel(this, "selectedList"), 10) {

private static final long serialVersionUID = 1L;

@Override
protected void populateItem(final ListItem item){
selParentGclOrg = new Label("selParGclOrgId", new PropertyModel(gclOrg, "parentGclOrgId"));
selParentGclOrg.setOutputMarkupId(true);

final AjaxLink ajl = new AjaxLink("clickMe"){
public void onClick(AjaxRequestTarget target){
chilgGcl = gclOrg.getGclOrgId();
selectPopUp.show(target);
}
};

ajl.add(selParentGclOrg);
final Label lblGclOrg = new Label("selGclOrgId", Integer.valueOf(gclOrg.getGclOrgId()).toString());

item.add(ajl);
item.add(lblGclOrg);
}
}

2) 一个标签带有超链接并打开一个弹出窗口,我可以从中为标签 2 选择可能的值。弹出窗口完美打开。

selectPopUp = new select_popUP("showModal",container){
@Override
public void onSelect(AjaxRequestTarget target, int gclOrgId){
selParentGclOrg.setModelObject(Integer.toString(gclOrgId));
target.addComponent(selectView);
close(target);
}

@Override
public void onCancel(AjaxRequestTarget target){
close(target);
}
};

3) 在弹出窗口中,可能的值带有超链接。单击它关闭弹出窗口并将可能的值发送到主页。这工作正常...我认为。

4) 使用以下方法将新值分配给标签 2:

target.addComponent(selectView);

这是我卡住的地方。 Wicket 应该更改同一行上的标签(至少,我认为)但它正在更新最后一行的标签 2。

我做错了什么?

最佳答案

我没有遍历您选择行的逻辑,但我相信我对类似问题的解决方案会对您有所帮助。问题是 ListView 不会在 AJAX 请求进入时自动单独刷新每一行。我使用的解决方案是 wrap the whole shebang in a WebMarkupContainer .完成后,所有内容都会根据请求重新生成。

关于java - 为什么 Wicket ListView 仅将更改分配给最后一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6828192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com