Odata 如何以编程方式更改数据?

Odata 如何以编程方式更改数据?,odata,sapui5,Odata,Sapui5,我的SAPUI5应用程序中有一个命名的OData版本4源代码。我需要在按钮单击事件处理程序中操作对象数据,如下所示: var oContext = evt.getSource().getBindingContext("dsName"); // works var sPath = oContext.getPath() + "/myPropertyName"; // Approach 1 for setting value to true: oContext.getModel().setPrope

我的SAPUI5应用程序中有一个命名的OData版本4源代码。我需要在按钮单击事件处理程序中操作对象数据,如下所示:

var oContext = evt.getSource().getBindingContext("dsName"); // works
var sPath = oContext.getPath() + "/myPropertyName";

// Approach 1 for setting value to true:
oContext.getModel().setProperty(sPath, true); // not working

// Approach 2:
var item = evt.getSource().getBindingContext("dsName").getObject();
item.myProperty = true; // not working

我设法更改属性值的唯一方法是通过双向将其绑定到控件(检查输入)。有人能告诉我是否以及如何在代码中更新OData v4模型吗?

OData模型默认为单向绑定。您必须使用以下方法显式地将绑定设置为双向绑定:
setDefaultBindingMode
:。此外,如果客户端有很多操作,那么我建议您将绑定上下文存储在JSON模型中,然后使用oData模型启动更新/创建。我的模型是双向绑定的。通过让用户更改控件的值进行更新是可行的。不起作用的是直接在代码中操作数据。oData模型默认为单向绑定。您必须使用以下方法显式地将绑定设置为双向绑定:
setDefaultBindingMode
:。此外,如果客户端有很多操作,那么我建议您将绑定上下文存储在JSON模型中,然后使用oData模型启动更新/创建。我的模型是双向绑定的。通过让用户更改控件的值进行更新是可行的。不起作用的是直接在代码中操作数据。