【问题标题】:A GridView inside a Wizard in wicket fails to render error feedback messages检票口中向导内的 GridView 无法呈现错误反馈消息
【发布时间】: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


【解决方案1】:

就是这样:

gridView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); 

解决了问题。

谢谢,罗奇。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 2016-03-12
    • 1970-01-01
    相关资源
    最近更新 更多