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

2020-09-15 10:59发布

         点击此处--->   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视图,所以不幸的是也无法正常工作。

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

         点击此处--->   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条回答
骆驼绵羊
1楼 · 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;

}

});

查看:

感谢您的回答!

追夢秋陽
2楼-- · 2020-09-15 11:13

Hello Sharath,

这是第一次尝试,很不幸,格式化程序在我所说的TwoWay绑定中不起作用。

仍然感谢。

3楼-- · 2020-09-15 11:10

在XML视图控件中为该复选框使用格式化程序功能。 因此,当用户选中一个复选框时,将调用此函数,并且您可以将checked设置为首选值(对于HANA DB),反之亦然(当用户取消选中该字段时)。

在XML视图中查找格式化程序功能。

此致

Sharath

绿领巾童鞋
4楼-- · 2020-09-15 11:26

如果您有sap.ui.commons.Checkbox,则使用checked属性。

如果使用的是sap.m.Checkbox,则使用选定的属性/

xfwsx85
5楼-- · 2020-09-15 11:27

您的复选框可以对选中的属性使用Expression Binding,如下所示:

var oCheckbox = new sap.m.Checkbox({已选中:" {= $ {/some_path} == 1}"});

派大星 ヾ
6楼-- · 2020-09-15 11:10

嗨,塞尔吉奥,

您能告诉我如何用JS视图实现这一目标。

真诚的问候,
Meghna Anand

一周热门 更多>