0

リストを保持する XML ビューがあり、リストは入力、コンボボックスなどを含む CustomListItems を保持します。

ここで、実行時に setEnabled(true) や false などのコントロールのプロパティを操作したいと考えています。そのためには、リストの項目を反復してコントロールにアクセスする必要があります。右?

List で getItems を使用すると、ListItemBase の配列を受け取ります。ListItem に埋め込まれたコントロールを取得するにはどうすればよいですか?

ヘルプ/ヒントをいただければ幸いです。

4

1 に答える 1

1

ListItemBaseオブジェクト odは、List.getItems()実際には CustomListItems です。それらのすべてのプロパティとメソッドに直接アクセスできます (JavaScript ではキャストしません)。

var listItems = list.getItems();
for (var i = 0, len = listItems.length; i < len; i++){
  var controls = listItems[i].getContent();
  var input = controls[0];
  var comboBox = controls[1];
  // and so on.
}

しかし、最初の質問に対して: データ バインディングを使用してリストを作成する場合は、追加のプロパティにもデータ バインディングを使用する必要がありますenabled式バインディングまたはマルチパート バインディングをフォーマッタ関数と一緒に使用して、リスト行の任意のモデル データ (相対バインディング パス) および使用可能なすべてのモデルのその他のデータ (絶対バインディング パス) から有効化されたプロパティを計算できます。

また、専用のビューモデル(ビューの状態を表し、バインドできる単純な JSONModel )を作成することもお勧めします。

例が必要な場合は、達成しようとしていることについて詳しく教えてください。

于 2016-06-08T18:22:40.623 に答える