【发布时间】:2011-11-10 14:21:12
【问题描述】:
我有一个自定义向导,定义如下:
<wicket:panel>
<div>
<form wicket:id="form" class="wizard">
<span class="wizardoverview" wicket:id="overview"/>
<div class="wizardheader" wicket:id="header"/>
<div wicket:id="view" class="wizardpage"/>
<span wicket:id="feedback"/>
<div class="buttons">
<span wicket:id="buttons"/>
</div>
</form>
</div>
</wicket:panel>
在这种情况下,向导页面是一个具有自己的表单的面板。 此表单包含一个新面板,该面板又包含一个 GridView。 GridView 包含一组面板,每个面板都包含一个 FormComponentFeedbackBorder,而后者又包含输入文本字段。
呼!
所以我们有这个:
Wizard->WizardpagePanel->Form->GridContainingPanel->GridView->Panel[]->FormComponentFeedbackBorder->TextField
当 TextField 验证失败时,根本不会呈现任何反馈。 如果我将 FeedbackPanel 添加到 GridContainingPanel,则会呈现错误消息,但 FormComponentFeedbackBorder 不会呈现任何内容。
有什么可能出错的提示吗?
我在使用 ListView 而不是 GridView 时遇到了类似的问题,但是当我设置 listView.setReuseItems(true); 时这个问题得到了解决
GridView是否有类似的设置,或者这个问题有不同的解决方案?
【问题讨论】:
-
你需要更深入:) 不,说真的,我能想到的只是 GridView 有自己的
setItemReuseStrategy-方法。 -
就是这样:gridView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());解决了问题。
标签: wicket