2016-05-20 12 views
1

が、私はこのようになりますXML-モデルを持っています名前: enter image description hereSAPUI5 bindAggregation XMLからモデル

私は私のUIにsap.m.ComboBoxコントロールを追加したいと思います。属性の名前の値が、のメンバータグから欲しいです。私はこのコードでそうすることができる午前:

new sap.m.ComboBox({ 
    items : { 
     templateShareable : true, 
     path : "metadata>/edmx:DataServices/edm:Schema/edm:EnumType/0/edm:Member", 
     template : new sap.ui.core.ListItem({ 
      text: "{metadata>@Name}" 
     }) 
    } 
}) 

しかし、代わりにそれのインデックス(EDM:EnumType//)を呼び出すことによってEnumType ハードを選択するので、私はむしろ、選択したいと思いますその属性によってそれは名前です。例えば。このようなものはいいでしょう:

"metadata>/edmx:DataServices/edm:Schema/edm:EnumType(Name=RoleCategory)/edm:Member" 

どのようにすればよいですか?どんなアイデアも高く評価されています。

答えて

1

パス構文にはこのようなものはありません。パスがサポートしているだけです

  • タグ名
  • 配列インデックスによって@
  • text()
  • 要素属性OpenUI5 codeで見ることができます。

要素バインディングは、フィルタリングと並べ替えをサポートしていないため、フィルタリングには使用できません。

ただし、モデルrequestCompletedまたはmetadataLoadedイベントに添付して、バインディングパスを更新するか、データを別のモデルにコピーすることはできます。

コンテナコントロールを使用する場合は、コンテナコントロールを使用して、ComboBoxをテンプレートとして/ edmx:DataServices/edm:Schema/edm:EnumTypeにバインドし、適切なフィルタを適用します。その後、あなたはコンボボックスで相対パスを使用する必要があります。 :)

関連する問題