TC官方合作论坛

 找回密码
 立即注册
查看: 1837|回复: 6

[BUG反馈] 表格删除行。。。意想不到的bug

[复制链接]
发表于 2015-5-28 22:25:55 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
版本:tc5.1
创建2行以上的表格控件。代码:
变量 行数
表格获取大小("表格0",行数,0)
遍历(变量 i=0;i<行数;i++)
    删除表格行(“表格”,i+1)
结束

运行结果:只删除了一半的表格行,比如有2行就只删除1行,4行就删除2行
回复

使用道具 举报

发表于 2015-5-29 03:42:47 | 显示全部楼层
本帖最后由 sam7894604 于 2015-5-29 03:44 编辑

固定行只有一行的话,遍历应该这么写

  1. 遍历(变量 i=1;i<行数;i++)
  2.     删除表格行(“表格”,i)
  3. 结束
复制代码


在初始化 i 的时候就设定跳过固定行


如果你只是要删除非固定行的所有行,可以直接调用
  1. 表格删除非固定项("表格")
复制代码



回复 支持 2 反对 0

使用道具 举报

发表于 2015-5-28 22:41:02 | 显示全部楼层
本帖最后由 言术 于 2015-5-28 22:43 编辑

i++就相当于i=i+1啊,上面有i++了,为什么下面还i+1呢?这相当于加2了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-28 23:05:37 | 显示全部楼层
言术 发表于 2015-5-28 22:41
i++就相当于i=i+1啊,上面有i++了,为什么下面还i+1呢?这相当于加2了

上面的i++是逐行遍历,下面的i+1是跳过固定行,你该复习下遍历语句的用法
回复 支持 反对

使用道具 举报

发表于 2015-5-28 23:50:46 | 显示全部楼层
你的写法问题
第1次遍历时 i=0 所以你删除了表格行 1,是跳过了固定行,没错
第2次遍历时 i=1 而你此时删除的是表格行 2 ,这个表格行 2 你应该知道代表什么吧 即连固定行的第3行
而往后一直遍历 所以得到你这结果
回复 支持 反对

使用道具 举报

发表于 2015-5-29 06:27:45 | 显示全部楼层
justme 发表于 2015-5-28 23:05
上面的i++是逐行遍历,下面的i+1是跳过固定行,你该复习下遍历语句的用法 ...

谢谢指正,是我搞错了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-29 09:12:22 | 显示全部楼层
chen71512 发表于 2015-5-28 23:50
你的写法问题
第1次遍历时 i=0 所以你删除了表格行 1,是跳过了固定行,没错
第2次遍历时 i=1 而你此时删除 ...

正解,我没有考虑删除后的表格大小,非软件bug,是我的思路bug,谢谢指正
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-2 23:00 , Processed in 0.039898 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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