51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3650|回复: 10
打印 上一主题 下一主题

[原创] 怎样得到datatable中某一特定列的行数呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-17 12:34:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如
cat  dog  bear
--------------------
aa   dd    aa
bb  ee     bb
cc           cc
              dd
--------------------
如何得到global sheet中Cat的rowcount呢?Many thanks
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-17 13:32:56 | 只看该作者
DataTable.GetSheet("Action1").GetParameter("test").ValueByRow(4)

具体参考
http://www.51testing.com/?3528/action_viewspace_itemid_10595.html
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-8-17 14:07:24 | 只看该作者
多谢
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-8-17 14:10:45 | 只看该作者
不好意思。我的问题没问清楚。
我是想知道怎么知道CAT, DOG列的行数.
(Cat=3, Dog=2)

GetRowCount只能得到整个gloab sheet的最长的列数
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-8-17 14:21:15 | 只看该作者
楼主问的是某一特定列的行数,楼上给出的是某一特定列上某一行的值。

msgbox DataTable.GetSheet("Action1").GetRowCount ‘这个方法只能得出Localsheet的总行数与LZ要求还差一些。

没找到相应函数可用,只好动手写了:
i=1
Do while DataTable.GetSheet("Action1").GetParameter("cat").value<>""
i=i+1
DataTable.GetSheet("Action1").setcurrentrow(i)
Loop
msgbox i-1
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-8-17 15:15:49 | 只看该作者
谢谢!我试过了。

还有请问,如何修改Global Sheet的列名呢?
原来是A, B, C, 可以修改为我想要的Cat, Dog, Beer么?谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-8-17 15:59:30 | 只看该作者
DataTable.LocalSheet.AddParameter "Cat", ""
DataTable.LocalSheet.AddParameter "Dog", ""
DataTable.LocalSheet.AddParameter "Beer", ""
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-18 20:52:32 | 只看该作者
路过,学习
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-8-18 21:40:33 | 只看该作者
真的很不错
学习多了
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-10-29 17:12:25 | 只看该作者
也可以这样写
i=1
Do While Datatable.GetSheet("MysheetID").GetParameter("MyParameter").ValueByRow(i)<>""
i=i+1
Loop

msgbox i-1
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-10-30 22:27:30 | 只看该作者
谢谢 又会一招  但是有了一个新问题
用VBS把这个写成一个function 怎么样给这个function设定参数呢  谁会么 教一下
Function getcount(列名)
a=1
Do while DataTable.GetSheet("Global").GetParameter("列名").value<> ""
        a=a+1
       DataTable.GetSheet("Global").SetCurrentRow(a)     
  wend
  Exit do
Loop
a=a-1
msgbox a
End Function
Call getcount(列名)
   如果可以设定参数的花 就可以只要写一个这个函数 以后随便用了  不必要每次取都写一次  但是我这个每次都报错 请问这么传参数应该怎么做呢?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-28 06:53 , Processed in 0.081595 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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