我对多模型绑定有问题。
在控制器的init函数中,我在ui.core中设置了JSON模型
var oModel = new sap.ui.model.json.JSONModel(data1);
sap.ui.getCore().setModel(oModel, "model1");
在视图中,我有一个ColumnListItem模板,并将其绑定到一个表中
var template = new sap.m.ColumnListItem({
id: "first_template",
type: "Navig
我已经在Manifest.json文件中创建了一个json模型。我想在onAfterRendering方法中访问这个模型。我尝试了下面提到的获取数据的方法。
var oModel1 = this.getOwnerComponent().getModel("shipData");
var oModel2 = sap.ui.getCore().getModel("shipData") ;
var oModel3 = this.getView().getModel("shipData");
结果是oModel1,并且创建了oMo
在调用onInit方法之前,我希望在onBeforeRendering方法中加载一个模型。attachRequestCompleted的问题是在呈现之后的某个时候调用这个函数。例如,我通过ProcessFlow获得了这个错误:
Render must not be called within Before or After Rendering Phase. Call ignored. - [object Object]
所以我的问题是:给它一个阻止视图的函数,直到模型开始加载?
我实例化了在manifes.json上的视图和Component.js中的模型。所以“显示代码”有点困难,但是我像
我是SAPUI5新手,在显示我的模型的内容时遇到了问题。
例如,我使用以下JSON设置了一个模型:
var a = new sap.ui.model.json.JSONModel({
name: 'testtttt',
test : [ {
val : 1
}, {
val : 2
} ],
test2: [1,2,3,4]
});
a.setDefaultBindingMode("OneWay");
this.setModel(a, 'test');
现在,在XML视图中,我试图通过Listitem显示它
我正在开发一个带有odata服务的SAPUI5应用。为了避免在更新EntitySet时发生错误时丢失更改,我之前调用了一个函数。此functionCall调用与实体的update方法相同的代码,但没有提交。在函数调用的成功方法中,我调用了submitChanges-Method。这工作得很好,但现在我在某些字段上遇到了问题。我更改了两个字段,并发现了模型(oModel.getPendingChanges)中的更改。在调用functionCall之后,一些更改会丢失。在这种情况下,其中一个更改会丢失,而另一个更改在模型中仍然可见。下面是我的保存方法:
onSavePressed: fun
如果我想将JSON绑定到view:
XML:
<m:Input id="name" value="{/name}" enabled="false"/>
控制器:
var data = {name : "name"};
var oModel = new JSONModel(data);
this.getView().setModel(oModel);
以及如何将JSON绑定到具有特定模型名称的视图?
控制器:
var data = {name : "name"};
var oModel = new JSO
在初始化时,我读取一个oData服务以获取一个较小的值列表,并存储该模型以供在应用程序中进一步使用。
sap.ui.getCore().setModel(oODataJSONModel, "xlist");
在多个阶段,我希望复制原始模型,对值列表进行更改,并在选择下拉列表中使用它。我尝试了多种不同的方法,但每次更新/删除复制的模型值时,它都会立即反映在原始模型中。这看起来像是一个简单的问题,但是有没有一种方法可以打破原始模型和复制模型之间的联系,理想情况下,我希望保持原始列表的完好无损,这样无论副本做了什么更改,列表都可以一遍又一遍地重复使用。
var
我也见过一个类似的问题,但在我的例子中,这是行不通的。我有一个名为data的JSON模型,它对应于一个带有组合框的SAPUi5表单。我希望在第一次打开应用程序时复制模型的状态,并将其保持为这样。在此之后,我希望使用它来重置我的表单,并将组合框恢复到它们的默认值。当我第一次启动应用程序时:
this.getView().setModel(new JSONModel(data)); //create the original model
//copy the original model (copyModel is global variable
copyModel = $.extend({},
我试图将标签绑定到在component.js中定义的模型的长度。我可以在组件中获得长度,但是当我试图映射相同的内部视图时,它会返回未定义的。我已经将表绑定到该模型,并且能够在表中获取数据。
这是我在component.js中的代码
var oModel = new sap.ui.model.json.JSONModel("model/data.json");
var datacount ;
oModel.attachRequestCompleted(function() {
// console.log(this.getData().length);
dat
在我的SAPUI5应用程序中,我使用了一个带有标记的多输入字段,这些标记绑定到JSON模型。新添加的条目保存在JSON模型中。但是,当通过按令牌文本旁边的"x“键删除令牌时,令牌将从多输入字段中消失。但是,当添加新令牌时,删除的令牌将重新出现。如何确保已删除的条目也从JSON模型中删除?
这是我当前将令牌添加到模型中的代码:
multiInputField.addValidator(function(args){
MessageBox.confirm("Do you really want to add Token\"" + ar
我有一个json模型,model/salesOrder.json,
{
"HeaderSet" : []
}
初始化,
var SalesOrderModel = new sap.ui.model.json.JSONModel("model/SalesOrder.json");
sap.ui.getCore().setModel(SalesOrderModel, "SOModel");
在创建Sales Order时,创建一个具有直接键的对象,如FirstName、LatName等,并推送到这个没有任何键的HeaderSet数组。
var s
我试图将两个不同的ListItems绑定到一个列表中。一个是StandardListItem,另一个是DisplayListItem。我有一个包含数据的JSON模型。我已经尝试过将数据绑定到这些词条中,但是没有显示任何内容。这是我的代码:
var oList = new sap.m.List("id_olist");
var Sli = new sap.m.StandardListItem("id_sli",{
title : "{myModel>/rootNode/name}"
});
var Sl
我正在处理选择框绑定。我想将数据绑定到来自odata服务的选择框。下面是我的代码。我的模型已经设置好了,我可以在控制台中获取模型的值。但不能绑定到选择框。
var oModel = this.getView().getModel("rulelist");
var Zid = '0';
var Zidentifier1 = 'Default Vendor';
var Zidentifier2 = '111111';
var aFilter = [];
var noModel = new sap.ui.model.json.JSONM