点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
使用表格sap.m.Table中的复选框时遇到问题(不适用于行选择;只能选择某些行)。 如果我更改复选框的状态(在UI中单击:),则不会更新模型,并且 this.getModel()。submitChanges(); 不会提交任何内容。 我尝试了几种方法,但没有解决任何问题。 (表中还包含一些输入字段,对这些输入字段的任何更改都存储在模型中,submitChanges会触发正确的OData调用。)
当前代码(版本1):
var checkBox = new sap.m.CheckBox({ 可编辑:true, 可见:" {= $ {placed} ==='1'}", 已选择:" {= $ {picked} ==='1'}" });
==>表格显示具有正确值的复选框
版本2:
var checkBox = new sap.m.CheckBox({ 可编辑:true, 可见:" {= $ {placed} ==='1'}", }); checkBox.bindProperty(" selected",{ targetType:"布尔值", 路径:"已选择", 模式:" sap.ui.model.BindingMode.TwoWay" });
==>表中未显示任何数据(显示了加载指示器,但未发生任何事情); 控制台未显示任何相关错误; 如果使用s 选出,结果相同:" {path:'picked',type:'sap.ui.model.type.Boolean'}"
有人提示如何解决该问题吗?
谢谢!
致谢
Karsten
借助 Boghyon Hoffmann
的最终解决方案谢谢,现在一切正常。
这是一个有效的示例: https://embed.plnkr.co/wwQXf8bTuiTP4RlP 。
具有表达式绑定或 formatter ,绑定模式变为单向(即,模型更改会传播到UI,而不会传播到UI)。
为了让 框架知道如何解析用户输入并将其存储在模型中,从而启用双向绑定,您必须分配一个适当的数据类型到绑定信息。
还请记住,如果要为绑定模式分配有效的枚举值 模型的默认绑定模式尚未在TwoWay中:
___
如果可能的话,最好的解决方案当然是将实体属性类型更改为Edm.Boolean(在您的情况下,对于"选择"和"放置" "属性。请参见$ metadata)。 这样,您就可以使用标准的sap.ui.model.odata.type.Boolean,而无需创建自定义解决方案。
一周热门 更多>