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 のセットを表示します。リストビューのある行でラベル total が変更された場合、対応するオブジェクト SomeObject はラベル total の新しい値で更新される必要があります。

誰かがこのタスクで私を助けるためにいくつかの有用な例を提供できますか?

ありがとう

4

1 に答える 1

1

プロパティを表示するには、モデルを使用する必要があります。たとえば、propertyModel です。メソッドgetObject()はディスプレイ上で呼び出されます。PropertyModel は、選択されたプロパティのゲッターを呼び出します。関心のあるフォーマットされた値を取得するゲッターをオブジェクトに持たせることができます。

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