sap.ui.table.Table。 删除记录后重复行

2020-08-19 10:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好社区, 我已经为这个问题苦...

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

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


您好社区,

我已经为这个问题苦苦挣扎了一段时间,而我的选项已用完了...希望我能在这里得到一些答案:)

我有一个非常简单的表格来管理到第三方网站的链接,就像这样:

此表的VisibleRowCount为3。

使用3个或更少的条目(没有滚动条)删除或添加链接就可以了,我的模型在更新后刷新,因此我的更改像应该的那样反映在表上。

当我有4条或更多记录时,就会出现问题,因此屏幕上会出现滚动条...

在表格中添加第4个链接后,我看到两种不同的行为:

1。 只要我显示第一行(测试1,滚动条一直向上),如果我删除Test1,Test2或Test3,在模型刷新后,我就会看到滚动条消失了,第四行现在变成了第三行。 一切都很好:

测试4是第4行,由于滚动条一直向上,现在不可见。

删除后:

2。 相反,如果滚动条一直向下(或在任何时候向下,如果我的表中有很多行),则行为如下:

现在例如删除Test4之后:

您可以看到Test4消失了,并且Test5已经向上移动,因此所有行现在都在显示中,但是滚动条仍然在那里。 但是,如果向上滚动使后端再次调用返回正确的行数,则屏幕上显示的是Test5的第4行,因此最后一行有重复。

如果我按任何列排序,或者关闭并打开我的应用程序,或插入另一条记录,则该行消失。

我真的很茫然,我看不出有什么问题。 这是一个非常简单的应用程序,在管理模型方面没有复杂的逻辑,也不会干扰任何奇怪的东西。 这是重要的部分:

//这是我的模型实例。 我在oData操作后没有做任何额外的模型刷新。
//行绑定是在XML视图上完成的
//模型绑定到视图,而不是直接绑定到表(尽管我已经尝试过)
 this.oModel =新的ODataModel(menu.util.utils.getSystemUrl(this.SERVICE_PATH + this.SERVICE_NAME),{
 json:是的,
 refreshAfterChange:是​​的,
 loadMetadataAsync:true,
 skipMetadataAnnotationParsing:是的,
 }); 
//我正在使用commitChanges插入我的新记录
 _submitChanges:function(){
 var that = this;
 var sMessages;

 如果(this.oModel.hasPendingChanges()){
 this.oModel.submitChanges({

 ...

//然后删除删除
 _delete:函数(oData){
 var that = this;
 this.oModel.remove(this.ENTITYSET_NAME +"(LinkId ='" + oData.LinkId +"')",{
 ...
 

我可能在这里错过了一些非常愚蠢的东西……但是我看不到!

如果需要,我可以添加更多详细信息。

编辑:我忘记添加所有后端调用都能按预期工作,并且数据维护正确。 另外,作为故障排除的一部分,我在oData调用中禁用了缓存。

提前谢谢!

(6.7 kB)
6条回答
My梦
2020-08-19 10:56

这是一个oData模型,我将实例化粘贴到了我的帖子中:

该表是处理对后端的oData调用的表。 定义如下:

 
 

在任何情况下,在这种情况下,我都不处理任何手动调用后端的操作。

我已经创建了一个存储库,并将代码放在这里。 如果您可以看一下,那就太好了。

https://github.com/Tukutupap/HelpfulLinks

我非常感谢您在6月解决这个问题上所做的努力。

一周热门 更多>