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


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

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

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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/5/6 14:19:00 [只看该作者]

在着色问题方面,从一开始选方案的时候,就舍弃了drawcell而用了 t.Grid.SetCellStyle,没有更好的解决办法了?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/6 14:24:00 [只看该作者]

没有啥好办法.

除非你遍历 tables("XX").grid.rows 去对比获得那一行.然后取其Index 那样效率非常低,还不如改用DrawCell

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)


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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/5/6 18:06:00 [只看该作者]

回复13楼,辛苦了!谢谢!图片点击可在新窗口打开查看


 回到顶部
总数 14 上一页 1 2