我有一个sapui5应用程序,该应用程序的页面中有多个控件。 例如表格,日历等。
我在onInit事件中为页面创建了一个单模型,如下所示:
var viewModel = new JSONModel();
//Prepare Initial Model
viewModel.setData({
LineDetails: [],
Calendar: {},
PageMode: "add",
DateStart: new Date(),
DateEnd: new Date(),
IsHistoryAvailable: false
});
this.getView().setModel(viewModel);
我需要做的是,我必须在此页面的对话框中包含一个智能表。 单击页面中的按钮后,对话框将打开。 如何将数据绑定到对话框中的智能表?
我只有将模型绑定到智能表的经验,该智能表在清单或页面中声明默认模型。
但是在这里,我已经在onInit事件中向页面添加了模型。 那么如何绑定数据?
是否可以将智能表绑定到上述声明的模型中包含的属性。
属性名称: SmartTableModel
例如:
viewModel.setData({
SmartTableModel:[]
LineDetails: [],
Calendar: {},
PageMode: "add",
DateStart: new Date(),
DateEnd: new Date(),
IsHistoryAvailable: false
});
答案 0 :(得分:0)
默认情况下,要绑定的数据必须来自默认模型ODataModel!换句话说:您不能简单地绑定某些JSONModel中的数据,也不能将数据绑定到来自命名模型(即使是ODataModel)的SmartTable。
恐怕要告诉你,到目前为止,您想要的东西还不起作用。您可以在实际的应用程序代码中使用MockerServer +注释(不是仅用于测试)作为解决方法,但我想我会避免这种情况。还有其他一些技巧,您可以在这里开始阅读:SAP UI5 :named json model with smart table