起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1882|回复: 13

[结贴] 关于删除多行数据后的BUG

[复制链接]

24

主题

80

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
发表于 2016-7-21 11:32:54 | 显示全部楼层 |阅读模式
本帖最后由 q282579174 于 2016-7-21 11:43 编辑

我做一张主从表的单据,在保存或者流转时,检测子表数据,将符合条件的行删除,删除多行后就产生一个BUG。步骤是这样的:
1、新增N行子表数据
2、在其中一行的金额填上一个大于0的数值
3、在保存或者流转时,遍历子数据,将符合删除条件的行对象存放在数组中,然后进行多行删除
4、删除后,剩下的一行数据为无效数据,既不能删除,也不能修改。

这是平台BUG吧?能不能修复?

24

主题

80

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
 楼主| 发表于 2016-7-21 11:41:30 | 显示全部楼层
本帖最后由 q282579174 于 2016-7-21 11:43 编辑

图1
1.png
回复

使用道具 举报

24

主题

80

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
 楼主| 发表于 2016-7-21 11:44:21 | 显示全部楼层
图2
2.png
回复

使用道具 举报

24

主题

80

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
 楼主| 发表于 2016-7-21 11:44:39 | 显示全部楼层
图3
此行数据无法删除
3.png
回复 支持 反对

使用道具 举报

24

主题

80

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
 楼主| 发表于 2016-7-21 11:46:18 | 显示全部楼层
图4、5、6

无法删除

无法删除

编辑数据

编辑数据

无法显示数据

无法显示数据
回复

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-7-21 14:07:45 | 显示全部楼层
只剩一条数据有问题?还是剩余多条数据只有第一条数据有问题?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

24

主题

80

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
 楼主| 发表于 2016-7-21 23:23:12 | 显示全部楼层
jishuang 发表于 2016-7-21 14:07
只剩一条数据有问题?还是剩余多条数据只有第一条数据有问题?

只剩一条数据时候出现的BUG
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-7-22 11:10:46 | 显示全部楼层
在主data的保存前判断从新增的数据并删除测试没问题
  1. Model.prototype.mainDataBeforeSave = function(event) {
  2.                 var data = this.comp("detailData");
  3.                 var newrows = data.getChangedRows("new");
  4.                 var rows = [];
  5.                 for (var i = 0; i < newrows.length; i++) {
  6.                     var fSZ = data.getValue("fSZ", newrows[i]);
  7.                     if(fSZ>50){
  8.                     
  9.                             rows.push(newrows[i]);
  10.                     }
  11.                 }
  12.                 if (rows.length > 0) {
  13.                         data.deleteData(rows);
  14.                 }
  15.         };
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

24

主题

80

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
 楼主| 发表于 2016-7-22 13:48:48 | 显示全部楼层
jishuang 发表于 2016-7-22 11:10
在主data的保存前判断从新增的数据并删除测试没问题

我这不是这样的,如果写在保存前事件,那就得先判断规则,再到这个保存前事件。所以我是在按钮的“saveBtnMousedown”事件中编写如下代码。
Model.prototype.saveBtnMousedown = function(event){
                var delRow = [];//记录需要删除的行
                this.comp("detailData").confirmDelete = false;
                this.comp("detailData").each(function(param){
                        //console.log(param.row.row.fBaoXiaoCost.value.latestValue);
                        //符合删除条件的用数组记录其row对象
                        //||param.row.row.fBaoXiaoCost.value.latestValue === '0'
                        if(typeof(param.row.row.fBaoXiaoCost.value.latestValue) === "undefined"  ){
                               
                                delRow.push(param.row);
                               
                        }
                       
                });
                //删除所有符合条件的数据
                this.comp("detailData").deleteData(delRow);
                //通过这样的方式删除,如果删除后只剩1行数据,那么这行会变成无效数据
                //解决这个BUG的方法
                this.comp("detailData").newData();
                this.comp("detailData").deleteData();
               
                this.comp("detailData").confirmDelete = true;
        };
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-7-22 16:16:12 | 显示全部楼层
那你应该是自己写一个按钮在按钮中先执行上面的逻辑,然后在调用data的saveData()
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-7 03:53 , Processed in 0.063217 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表