绑定到实体类型

2020-09-19 14:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好, 我正在使用带有Smart...

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

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


你好,

我正在使用带有SmartFields的SmartForm,我需要将其绑定到和实体,以便我的字段从实体的元数据中获取类型/文本。 问题是我不想使用Form来显示或更新要创建新请求的现存值(Get_Entity请求)。

如果使用BindElement,则必须指定值Ex 。 oForm.bindElement("/img/Product(" XXXX")")

但是我还必须放置TwoWay类型的模型,以便Form可以检查我的字段(如果它们正确)。 但是,如果我这样绑定他,我将始终创建一个UpdateRequest。

我想绑定他,而不指定任何内容,也不创建任何请求,因此最终我可以自己创建它们。/p>

我尝试了

oForm.setBindingContext(new sap.ui.model.Context(oView.getModel(),"/img/ProductSet"))

但是当 我把它放在oView.getModel()。setDefaultBindingMode(" TwoWay");

当我修改输入字段并设置自动删除的文本时。

我看到了一个属性 SmartForm" entityType",但似乎什么也没做...

那我怎么解决这个问题呢?

2条回答
haha101010
2020-09-19 14:46 .采纳回答

一段时间后,我找到了一种合适的方法。

当您只想创建某些东西而又没有可视化的初始数据时,绑定表格的正确方法是:

 var oBindingContext = this.getView()。getModel()。createEntry("/img/TestSet");
 var oField1 = this.getView()。byId()... ||  sap.ui.getCore()。byId();

 oField1.setBindingContext(oBindingContext);
 

还要记住指定是否要使用双向绑定模式。

 oModel.setDefaultBindingMode(" TwoWay"); 

这将创建一个odata请求,您可以使用oModel.hasPendingChanges ||进行检查。 getPendingChanges。

如果要创建(例如)深层实体或调用功能Import(而不是SubmitChanges),请记住在之后重置更改。

 oModel.resetChanges()

希望这会有所帮助:)

一周热门 更多>