Foxtable(狐表)用户栏目专家坐堂 → currenttable.Select(0,2) 是包括隐藏列吗?


  共有14736人关注过本帖树形打印复制链接

主题:currenttable.Select(0,2) 是包括隐藏列吗?

帅哥哟,离线,有人找我吗?
mr725
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
currenttable.Select(0,2) 是包括隐藏列吗?  发帖心情 Post By:2010/4/8 19:13:00 [只看该作者]

currenttable.Select(0,2) 怎么对可见的列有无效呢,当隐藏第三列后,就无法指向可见的第三列(不隐藏第三列时这个实际是第四列)了,

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/8 19:49:00 [只看该作者]

这里的2指的是列位置,隐藏与否都不应该改变,不是狐表的问题,想一想就知道为什么!

dim a as Integer
For Each c As Col In currenttable.Cols
    if c.Index <= 2
        if c.Visible = false
            a = a +1
        end if
    end if
Next
currenttable.Select(0,a+2)

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/8 20:23:00 [只看该作者]

当2设定的值过大,在a+2大于最后列位置时,会报错,可以这样避免:

dim a as Integer
dim b as Integer
For Each c As Col In currenttable.Cols
    if c.Visible = true
        if c.Index <= 8
            a = a +1
        end if
    else
        b = b +1
    end if
Next
if a+b < currenttable.Cols.Count
    currenttable.Select(0,a+8)
else
    MessageBox.show("对不起,指定列大于总列数")
    currenttable.Select(0,0)
end if


 回到顶部