我尝试将数据绑定到组合框,但是没有解决它。 我可以看到模型(modelData),数据在模型中。
有人可以告诉我,结果里面的结构(EX_LABOR)是否正确?
<ComboBox
items="{modelData}"
selectedItem="selectedItem"
selectedKey="keySelectedKey"
selectedItemId="idselectedItemId"
id="idComboboxLabor"
placeholder="Datum"
textAlign="Initial"
textDirection="Inherit"
maxWidth="100%"
change="onChangeLaborDatum"
selectionChange="onSelectionChangeLaborDatum">
<items>
<core:Item key="{modelData>PatientID}" text="{modelData>/PatientID}"/>
</items>
</ComboBox>
我把ajax请求放在init函数中。
控制器: jQuery.ajax({ 网址:aUrl, 方法:'GET', dataType:'json', contentType:“application / json”, success:function(data,textStatus,jqXHR){
// create JSON model instance
var oModelCombobox = new sap.ui.model.json.JSONModel();
/* // set the data for the model
Result:
{"EX_LABOR":{"0":{"PatientID":3161,"Datum":"2014-12-08T23:00:00.000Z"},"1":{ */
oModelCombobox.setData(data);
// set the model to the core
sap.ui.getCore().setModel(oModelCombobox, "modelData");
var aData = oModelCombobox.getProperty("/EX_LABOR");
var oModel1 = new sap.ui.model.json.JSONModel();
// oModel1.attachRequestCompleted(function() {
oModel1.setData({
modelData: aData
});
console.error(oModel1);
console.error(aData);
// });
}
如果你们中的一个人可以帮助我,那将非常有帮助。
答案 0 :(得分:1)
您需要更正ComboBox项聚合的绑定:
items="{modelData>/EX_LABOR}
EX_LABOR也应该是一个数组。
另外,您需要更正Item文本属性的绑定(如@Qualiture所述):
text="{modelData>PatientID}"
一般情况下,您应该重新考虑您的命名:“modelData”是一个坏名称,因为您的模型不清楚您的模型是否包含数据,但不清楚哪种数据类型。此外,建议使用:
this.getView().setModel(model, name)
而不是将其存储在核心中。
答案 1 :(得分:0)
真的,谢谢你的帮助和快速反应!你给了我正确的提示!