Foxtable(狐表)用户栏目专家坐堂 → 如何得到某行数据在包含分组行情况下的位置?


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

主题:如何得到某行数据在包含分组行情况下的位置?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/3 20:30:00 [显示全部帖子]

 比较麻烦,直接说你想做什么吧。要做就参考下面的代码

 

Dim r As Row = Tables("表A").Rows(7)

Dim fzs As Integer = 0
With Tables("表A")
    For i As Integer = 0 To r.Index 'Count加上参数True
        r = .Rows(i,True) 'Rows也需要加上参数True
        If r.IsGroup Then '如果是分组行
            fzs += 1
        End If
    Next
End With

msgbox(r.Index + fzs)


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/6 15:29:00 [显示全部帖子]

以下是引用hdffzxf在2015/5/6 12:47:00的发言:
回复2楼:首先谢谢您的帮助!但是您的代码有这样的问题:在包括分组行的情况下,该行是的实际位置可能在第10行(不包括分组行是第7行),那么  For i As Integer = 0 To r.Index 这句的r.index是第7行,也就是说遍历不到包括分组行情况下的第10行,也就得不到正确的结果呀!

 

变通一下啊

 

Dim r As Row = Tables("表A").Rows(7) '第八行

Dim fzs As Integer = 0
With Tables("表A")
    For i As Integer = 0 To .Rows.count(True)
        Dim nr As Row = .Rows(i,True) 'Rows也需要加上参数True
        If nr.IsGroup Then '如果是分组行
            fzs += 1
        Else
            If r.Index = nr.Index Then
                Exit For
            End If
        End If
    Next
End With

msgbox(r.Index + fzs)


 回到顶部