以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何得到某行数据在包含分组行情况下的位置? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67800) |
-- 作者:hdffzxf -- 发布时间:2015/5/3 13:57:00 -- 如何得到某行数据在包含分组行情况下的位置? 请教老师:假如不考虑分组行的情况下,某特定行的位置(index)是3,该行即t.rows(3),但在考虑分组行的情况下,该特定行的位置是5,如何通过代码得到该特定行的位置是5?谢谢! |
-- 作者:大红袍 -- 发布时间:2015/5/3 20:30:00 -- 比较麻烦,直接说你想做什么吧。要做就参考下面的代码
Dim r As Row = Tables("表A").Rows(7) Dim fzs As Integer = 0 msgbox(r.Index + fzs) |
-- 作者:hdffzxf -- 发布时间:2015/5/6 12:47:00 -- 回复2楼:首先谢谢您的帮助!但是您的代码有这样的问题:在包括分组行的情况下,该行是的实际位置可能在第10行(不包括分组行是第7行),那么 For i As Integer = 0 To r.Index 这句的r.index是第7行,也就是说遍历不到包括分组行情况下的第10行,也就得不到正确的结果呀! |
-- 作者:hdffzxf -- 发布时间:2015/5/6 12:48:00 -- 还有其他的解决方法吗?求高手指教,是否可能用到递归函数? |
-- 作者:Bin -- 发布时间:2015/5/6 13:37:00 -- 2楼的代码,可以遍历到包分组的行. 帮助知识点http://www.foxtable.com/help/topics/1594.htm |
-- 作者:hdffzxf -- 发布时间:2015/5/6 13:54:00 -- 回5楼,知识点已看过,好象不能解决遍历到包括分组行在内的某行。 注:该行不包括分组行时确定是第7行,但包括分组行时如何写:rows(7).index(true) ? 好象index不支持true |
-- 作者:Bin -- 发布时间:2015/5/6 13:56:00 -- 你想实现什么? |
-- 作者:hdffzxf -- 发布时间:2015/5/6 14:04:00 -- 比如:我定义了某单元格:rows(7)("第一列")=rows(2)("第一列")+rows(3)("第二列"),并且利用 t.Grid.SetCellStyle(7+表头层数,t.Cols(“第一列”).Index+1,cs)为该单元格着色,计算的结果无论包不包括分组行都是没有问题, 就是在包括分组行的情况下,着色就串了单元格 [此贴子已经被作者于2015/5/6 14:04:53编辑过]
|
-- 作者:Bin -- 发布时间:2015/5/6 14:12:00 -- 建议你还是利用DrawCell来实现着色,这样就没这个冲突问题. |
-- 作者:hdffzxf -- 发布时间:2015/5/6 14:17:00 -- 嗯,知道drawcell是很好的办法,但是那样就会调整程序代码的结构了,觉得利用 t.Grid.SetCellStyle代码更便捷一些 |