使用ODATAModel将行(在客户端)添加到表中

2020-08-15 07:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好, 我有一个绑定到ODA...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

我有一个绑定到ODATAModel的表。

我想创建一个在表中插入新行的按钮(并且该记录不应再保存到数据库中),然后用户应将数据输入到新行并按保存按钮。 按保存后,记录应保存到数据库中。

这是一个示例,它确实在执行我想要的操作,但是它使用的是JSONModle: http://jsbin.com/uxokuc/ 421/edit

我想到了这一点,它不仅添加了一条新记录,而且还直接将其发送到了数据库:

 btnAddRecord.attachPress(function(){
    //tblUser.addRow(new sap.ui.table.Row()); 不可能
     var newEntry = oData.createEntry('/tbl_user',{ID:4711,USERNAME:'BEN'});
     console.log(newEntry.getObject()。USERNAME)
     oData.submitChanges(local);
 });
 

这里有些想法如何(以及是否)可行?

非常感谢,

ben

10条回答
huskylover
2020-08-15 07:40

嗨,

你可以试试吗,

var retContext = oModel.createEntry("/img/EntitySet",{

属性:newData,

成功:function(){

},

错误:function(){

}

});

var lisItemForTable = this.getView()。byId(" listItemForTable")。clone();

lisItemForTable.setBindingContext(retContext);

var table = this.getView()。byId(" table");

table.addItem(lisItemForTable);

onPressSubmitChanges:function(){

var oModel = this.getView()。getModel();

oModel.submitChanges(

{

成功:function(){

//已更新

},

错误:function(){

//错误

}

});

}

将此线程用于与listItem

的表的动态绑定

设置listItem的绑定上下文- SAPUI5 SDK-演示工具包

谢谢

RUmeshbabu S

一周热门 更多>