0

我需要在 ListView 中使用可编辑标签或内联标签,并且在更改此组件的值后,我想知道如何更新此 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 有一个名为 total 的属性,listView 显示了一组 SomeObject,当 listview 的某行中的 label total 发生变化时,相应的对象 SomeObject 应该更新为 label total 的新值。

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

谢谢

4

1 回答 1

1

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

item.add(new Label("total", new PropertyModel(item.getModel(), "formattedValue")))
于 2013-04-09T20:05:54.180 回答