私はテーブル行に2つのsap.m.ComboBoxを持っています。 2番目のコンボボックスの項目は、最初のコンボボックスの選択によって異なります。以下は、私が書いたコードですが、2番目のComboBoxのアイテムをリフレッシュしていません。コントローラ別のコンボボックスの選択に基づいて、1つのコンボボックスのモデルを更新する方法は?
comboBoxMapping:function(oEvent){
var filterMappingModel = \\getting the model;
sap.ui.getCore().byId("SecondComboBox").setModel(filterMappingModel);
sap.ui.getCore().byId("SecondComboBox").bindItems('/', new sap.ui.core.Item({key: '{Skill}',text: '{Skill}'}),true);
}
で
var firstCombo = new sap.m.ComboBox({items:[new sap.ui.core.Item({text:"EmployeeLevel4"}),
new sap.ui.core.Item({text:"EmployeeLevel3"})],
selectionChange : oController.comboBoxMapping});
var secondCombo = new sap.m.ComboBox("SecondComboBox",{});
それを正しくimpelemetするために私にいくつかの選択肢を提案します。最初のコンボの
selectionChange
イベントハンドラで
OPはコンボボックスがテーブルにあるので、IDで参照することはできません。私は恐れています... – Qualiture
あなたは正しいです。その部分を完全に上書きします。 OPはもう少し作業をしなければならない:テーブルの行を取得し、彼女がフィルタを設定する必要があるコンボボックスが含まれているテーブルの行を見つけることを試みる。 – jpenninkhof
ええ、バインドされたデータに基づく不適切なフィルタリングは不可能です。古代の問題https://github.com/SAP/openui5/issues/130を参照してください。 – Qualiture