对话框内的SAPUI5智能表

时间:2018-09-12 17:06:51

标签: sapui5

我有一个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
                });

1 个答案:

答案 0 :(得分:0)

默认情况下,要绑定的数据必须来自默认模型ODataModel!换句话说:您不能简单地绑定某些JSONModel中的数据,也不能将数据绑定到来自命名模型(即使是ODataModel)的SmartTable。

  1. SmartTable仅适用于ODataModel中的数据,因此不能使用JSonModels
  2. 当前,SmartTable仅适用于dafault模型(“”),即命名模型不起作用

恐怕要告诉你,到目前为止,您想要的东西还不起作用。您可以在实际的应用程序代码中使用MockerServer +注释(不是仅用于测试)作为解决方法,但我想我会避免这种情况。还有其他一些技巧,您可以在这里开始阅读:SAP UI5 :named json model with smart table