Wicket:在ListView中使用可编辑的内联标签并更改此标签值后更新模型

问题描述:

我需要在ListView中使用可编辑标签或内联标签,并且在更改此组件的 值后,我想知道如何可以更新该对象显示在该LISTVIEWWicket:在ListView中使用可编辑的内联标签并更改此标签值后更新模型

add(new ListView[SomeObject]("listSomeObject", listData) { 

    override protected def onBeforeRender() { 
    ... 
     super.onBeforeRender() 
    } 

    def populateItem(item: ListItem[SomeObject]) = { 
     var objValue = item.getModelObject() 

     item.add(new Label("total", objValue.toString(getFormatter()))) 
    } 
    } 
    }) 

在上面的代码的 的属性,所述对象SomeObject具有总共属性调用时,列表视图 展示了一组SomeObject,当所述标签总被改变在列表视图的某一行中,对应的对象SomeObject应该更新为新的 值e的标签总数。

有人可以提供一些有用的示例来帮助我完成此任务吗?

谢谢

您应该使用模型来显示您的财产。例如一个propertyModel。方法getObject()将被显示。 PropertyModel将调用所选属性的getter。你可以让你的对象有一个获取器,它可以检索你感兴趣的格式化值。

item.add(new Label("total", new PropertyModel(item.getModel(), "formattedValue")))