TC官方合作论坛

 找回密码
 立即注册
查看: 587|回复: 7
打印 上一主题 下一主题

[已解决] 表格删除为什么只能单独删除一行 选2行也只能删除一行

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-30 15:24:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
本帖最后由 winsun 于 2014-9-30 18:30 编辑
  1. 功能 按钮_删除账号_点击()
  2.     变量 a,b,i
  3.     表格.大小("表格0",a, b)
  4.     调试输出("行" & a)
  5.     调试输出("列" & b)
  6.     遍历(i = 1 ; i < a; i++)
  7.         如果(表格.获得复选框状态("表格0", i, 0))
  8.             表格.删除行("表格0", i)
  9.             表格.插入行("表格0","", -1)
  10.             i= i-1
  11.         如果结束
  12.     遍历结束
  13. 功能结束
复制代码
问题已经解决 这是修改后的代码 删除后 末尾还可以增加一行多下大神指导
回复

使用道具 举报

5#
发表于 2014-9-30 18:22:54 | 只看该作者
比如你要删除第1、2行,i==1时程序会删掉第一行,然后i++后i==2要去删除第2行

但是你删除了第一行后,后面的行数会前移:第2行变第1行,第3行变变第2行,这时i==2实际去判断的是第3行(第3行前移变成了第2行)

前移的第3行没有选中,所以会出现只删除一半的情况

如果问题解决了,请采纳
回复 支持 反对

使用道具 举报

沙发
发表于 2014-9-30 16:01:11 | 只看该作者
功能 按钮_删除账号_点击()
    变量 a,b,i
    表格.大小("表格0",a, b)
    traceprint("行" & a)
    traceprint("列" & b)
    遍历(i=1;i<a;i++)
        如果(表格.获得复选框状态("表格0",i,0))
            表格.删除行("表格0",i)
            //表格.插入行("表格0","",-1)
            i= i-1
        如果结束
    遍历结束

功能结束
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-9-30 17:53:17 | 只看该作者
秋来潮汐 发表于 2014-9-30 16:01
功能 按钮_删除账号_点击()
    变量 a,b,i
    表格.大小("表格0",a, b)

谢谢
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-9-30 18:10:23 | 只看该作者
秋来潮汐 发表于 2014-9-30 16:01
功能 按钮_删除账号_点击()
    变量 a,b,i
    表格.大小("表格0",a, b)

大神 能告诉我为什么要加个 i =i-1吗
回复 支持 反对

使用道具 举报

6#
发表于 2014-11-28 15:08:03 | 只看该作者
我来给发个比较完善的吧:

功能 删除_点击()
    变量 返回行,返回列,行
    表格.大小("表格",返回行,返回列)
    遍历(行=1;行<返回行;行++)
        如果(表格.获得复选框状态("表格",行,0))
            表格.删除行("表格",行)   
            表格.大小("表格",返回行,返回列)
        如果结束
    遍历结束
功能结束
回复 支持 反对

使用道具 举报

7#
发表于 2014-11-28 17:01:35 | 只看该作者
上面那个有点问题的,下面这个OK:

功能 删除_点击()
    变量 返回行,返回列,行,删除行数=0
    表格.大小("表格",返回行,返回列)
    遍历(行=1;行<返回行;行++)
        如果(表格.获得复选框状态("表格",行,0))
            表格.删除行("表格",行)
            序号=序号-1
            表格.大小("表格",返回行,返回列)
            表格.插入行("表格","", -1)
            表格.设置类型("表格",返回行,0,3)
            行=行-1
            删除行数=删除行数+1
        如果结束
    遍历结束
   
    表格.大小("表格",返回行,返回列)
    遍历(行=0;行<删除行数;行++)
        表格.删除行("表格",返回行-1)
        返回行=返回行-1
    遍历结束
功能结束
回复 支持 反对

使用道具 举报

8#
发表于 2014-11-28 21:53:07 | 只看该作者
楼主,你这个代码是不是清空表格,我猜对了么
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-9-24 01:48 , Processed in 0.464217 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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