切换现有行的开关时,添加到表的新行会消失

2020-08-22 15:15发布

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

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


你好

我对SAPUI5开发和SCN还是很陌生。

我目前正在开发一个应用程序,并且在表绑定和添加行方面遇到一些问题。 我有一个包含4列(3个文本和1个" Switch"控件)的表,该表绑定到实体" Attributes"。 当我添加新的属性时,新行将在表格中正确显示,并且我可以在chrome调试器中正确看到4列的所有值(直到切换开关)。 我有以下两个问题:

-在调试器中检查oData时,现有行及其值显示正常,但是如果自添加行以来已对其进行切换,则新添加的行未显示正确的Switch控制值(即默认为新行的switch) OFF,我将其切换为ON,但调试器仍将其显示为OFF)

-切换现有行的开关时,表控件中将消失所有新添加的行,但是仍然可以在模型中看到它们,并最终在SubmitChanges()上提交,然后它们将 将页面重新加载为现有行时显示

其他信息:

当用户单击"提交更改"时,将以批处理的形式提交新添加的记录。

该表对应于一个Employees Attributes,并且已经在后端存储了一些数据,这些数据通过"现有"记录(成功提交的行也成为现有记录)来实现。

任何关于为什么会出现这两个问题的见解将不胜感激! 如果您还需要其他任何信息或屏幕截图来帮助澄清,请告诉我。

感谢您的时间,

迈克尔

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

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


你好

我对SAPUI5开发和SCN还是很陌生。

我目前正在开发一个应用程序,并且在表绑定和添加行方面遇到一些问题。 我有一个包含4列(3个文本和1个" Switch"控件)的表,该表绑定到实体" Attributes"。 当我添加新的属性时,新行将在表格中正确显示,并且我可以在chrome调试器中正确看到4列的所有值(直到切换开关)。 我有以下两个问题:

-在调试器中检查oData时,现有行及其值显示正常,但是如果自添加行以来已对其进行切换,则新添加的行未显示正确的Switch控制值(即默认为新行的switch) OFF,我将其切换为ON,但调试器仍将其显示为OFF)

-切换现有行的开关时,表控件中将消失所有新添加的行,但是仍然可以在模型中看到它们,并最终在SubmitChanges()上提交,然后它们将 将页面重新加载为现有行时显示

其他信息:

当用户单击"提交更改"时,将以批处理的形式提交新添加的记录。

该表对应于一个Employees Attributes,并且已经在后端存储了一些数据,这些数据通过"现有"记录(成功提交的行也成为现有记录)来实现。

任何关于为什么会出现这两个问题的见解将不胜感激! 如果您还需要其他任何信息或屏幕截图来帮助澄清,请告诉我。

感谢您的时间,

迈克尔

付费偷看设置
发送
6条回答
jovirus
1楼-- · 2020-08-22 15:40

说明:在调试中,添加的行显示在表聚合中(在切换开关之前),它在模型中显示为带有临时" id-######"(而不是通常的键,显示在 并在切换开关之后),但是它们从未显示在oDataListBindings中。有没有办法添加它们?

微wx笑
2楼-- · 2020-08-22 15:46

嗨,迈克尔,

我认为 您需要将其转换为从后端打开或关闭,但是state接受布尔值...

stateboolean

一个布尔值,指示开关是打开还是关闭。

谢谢

Viplove

SAP砖家
3楼-- · 2020-08-22 15:31

嗨,迈克尔,

当将数据绑定到交换机时,使用任何格式或表达式绑定...意味着像从后端进行转换 数据即将打开和关闭,并且您将转换为true和false以附加到开关控件的状态....如果是,则从UI更改状态不会影响模型值,因为该开关控件绑定将成为一种方法 绑定,因为它被格式化,然后附加... s o您需要使用开关..

派大星 ヾ
4楼-- · 2020-08-22 15:31

嗨Akhilesh,

的事件"更改"从自己更改模型数据

感谢您的答复!

1)我无法使用oDataModel.create()方法,因为该应用程序所需的功能是要批量提交。 相反,我使用oDataModel.createEntry()和table.addItem()来显示新行,直到调用oDataModel.submitChanges()为止。

2)不,我没有使用过setChangeBatchGroups。 您是否有其他想法可能会发生这种情况?

谢谢

Michael

hengyuye
5楼-- · 2020-08-22 15:24

嗨,迈克尔,

1)我不确定您如何向表中添加新行,但是如果您要使用以下方法, 应该不会造成此问题,它将在后端创建一个空白条目并触发get实体,并将重新绑定表并添加一个空白行。

oUrlParameter = {" ItemID":"" }; //根据您的实体键和必要参数

sRequestedPath = _oObjectPath +"/ItemSet";

this._oDataModel.create(sRequestedPath,oUrlParameter,{

成功:fnSuccess,

错误:fnError

});

2)您是否使用'setChangeBatchGroups'方法定义了批处理组?

如果是,请删除此代码,此功能现在折旧了,由于这个原因,您的表正在刷新,并且屏幕上的新条目消失了。

希望这会有所帮助:-)

致谢

阿赫列什

半个程序猿
6楼-- · 2020-08-22 15:27

我有完全相同的问题,您找到解决方案了吗?

致谢

Antonette

一周热门 更多>