我想在表格的Combobox中设置值:它没有显示值?这是代码: 视图:
<Column width="10rem">
<m:Label text="{i18n>Status}" />
<template>
<m:ComboBox items="{items>/Status}"
templateShareable="true">
<m:items>
<core:Item text="{Name}" />
</m:items>
</m:ComboBox>
</template>
</Column>
控制器:这是参数集。
success : function(oData, oResponse) {
// create JSON model
var oODataJSONModel = new sap.ui.model.json.JSONModel();
var child1 = [];
child1.push({Name:"S"});
child1.push({Name:"E"});
oData.Status = child1;
oODataJSONModel.setData(oData);
oView.setModel(oODataJSONModel, "items");
感谢您的帮助!
答案 0 :(得分:1)
您在Item
的属性绑定中缺少模型的别名。
<core:Item text="{items>Name}" />
答案 1 :(得分:0)
如果要在更改时读取组合框的值,可以执行以下操作。首先在XML中,在组合框元素中设置属性selectionChange="nameOfYourFunction"
。每当用户点击其他项目时,nameOfYourFunction()
都会执行。在此功能中,您可以检查值。
nameOfYourFunction : function(){
//Do whatever you want to do here when user changes value of combo
this.getView().byId("combobox_id_here").getValue(); // returns text inside combobox
}
您可能需要使用该功能并查看何时完全被调用。我已经做了一点,有时它会被调用两次。我想有一次当Combobox的文本是列表中的值时,当你离开组合框的焦点时它会被再次调用。两次调用可能不会影响您的代码,具体取决于您在函数中执行的操作。