如何在Hana db TwoWay绑定中将我的复选框值分别存储为true(真)和null(假)?

2020-09-15 10:59发布

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

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

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


大家好,

我在SAPUI5中有一个带有很多复选框的应用程序。

我们将复选框的值存储为TINYINT到数据库中,如何将它们转换为在更新批处理请求1中发送,则true和false都为空?

我尝试使用格式化程序,但在TwoWay绑定中不起作用。 尝试转换此旧代码段

oCheckBox.bindProperty(" checked",{路径:"/img/some_path",类型:BoolString,模式:sap.ui.model.BindingMode.TwoWay});

在我的xml视图中,因为这是js视图,所以不幸的是也无法正常工作。

请给我一个带有代码片段的示例或解决此问题的想法吗?

6条回答
骆驼绵羊
2020-09-15 11:19 .采纳回答

大家好,

我找到了有关此问题的解决方案,并希望与您分享:

您可以在SAPUI5中创建自定义数据类型,该数据类型继承自sap.ui.model.SimpleType,还可以更改formatValue函数中的逻辑(只要更改模型中的值以将其转换为 (它绑定到的控件属性)和parseValue(每当用户在UI中修改了一个值并将更改传输回模型时调用)。 调用validateValue来检查其他约束,例如最小值或最大值,并在违反任何约束时引发ValidateException。

您可以在下面的应用程序中找到代码段:

控制器:

sap.ui.model.SimpleType.extend(" sap.ui.model.type.Boolean",{

formatValue:function(oValue){

如果(oValue === 1){

返回true;

} if(oValue === null || oValue === 0)

{返回false; }

},

parseValue:函数(oValue){

if(oValue === true){

返回1; }

否则,如果(oValue === false){

返回0;

}

},

validateValue:function(oValue){

返回oValue;

}

});

查看:

感谢您的回答!

一周热门 更多>