点击此处---> 群内免费提供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视图,所以不幸的是也无法正常工作。
请给我一个带有代码片段的示例或解决此问题的想法吗?
大家好,
我找到了有关此问题的解决方案,并希望与您分享:
您可以在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;
}
});
查看:
感谢您的回答!
Hello Sharath,
这是第一次尝试,很不幸,格式化程序在我所说的TwoWay绑定中不起作用。
仍然感谢。
在XML视图控件中为该复选框使用格式化程序功能。 因此,当用户选中一个复选框时,将调用此函数,并且您可以将checked设置为首选值(对于HANA DB),反之亦然(当用户取消选中该字段时)。
在XML视图中查找格式化程序功能。
此致
Sharath
如果您有sap.ui.commons.Checkbox,则使用checked属性。
如果使用的是sap.m.Checkbox,则使用选定的属性/
您的复选框可以对选中的属性使用Expression Binding,如下所示:
var oCheckbox = new sap.m.Checkbox({已选中:" {= $ {/some_path} == 1}"});
嗨,塞尔吉奥,
您能告诉我如何用JS视图实现这一目标。
真诚的问候,
Meghna Anand
一周热门 更多>