Foxtable(狐表)用户栏目专家坐堂 → [求助]取得drs 集合中的列


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

主题:[求助]取得drs 集合中的列

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


加好友 发短信
等级:幼狐 帖子:176 积分:1535 威望:0 精华:0 注册:2010/8/23 14:57:00
[求助]取得drs 集合中的列  发帖心情 Post By:2010/9/29 14:11:00 [只看该作者]

有这么一段代码,是希望能把搜索到的多行内容传递给一个临时表,临时表和相关变量已经定义过了,  

.......

   Dim drs AS List(of Datarow)

    drs=Datatables("BPB量产电池").SELECT(filter2)
    For Each dra As Datarow In drs      '历遍drs
    Dim dc As Datacol=drs("产品名称")      

    Dim Drb As Datarow = Datatables("temp").AddNew()   
        drb("产品名称") = dra(dc.name)                               ‘把drs中的产品名称传递给临时表的产品名称
    Next

 

运行后,其中提示Dim dc As Datacol=drs("产品名称")   错误,如何取得drs集合中的这一列呢?

 



图片点击可在新窗口打开查看此主题相关图片如下:未命名3.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-9-29 14:13:24编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/9/29 14:16:00 [只看该作者]

   Dim drs AS List(of Datarow)

    drs=Datatables("BPB量产电池").SELECT(filter2)
    For Each dra As Datarow In drs      '历遍drs
    'Dim dc As Datacol=drs("产品名称")      

    Dim Drb As Datarow = Datatables("temp").AddNew()   
        drb("产品名称") = dra("产品名称")          ‘这样试一试···
    Next

 

   Dim drs AS List(of Datarow)

    drs=Datatables("BPB量产电池").SELECT(filter2)
    For Each dra As Datarow In drs      '历遍drs
    Dim dc As string = drs("产品名称")      

    Dim Drb As Datarow = Datatables("temp").AddNew()   
        drb("产品名称") = dc          ‘这样试一试···
    Next

[此贴子已经被作者于2010-9-29 14:17:23编辑过]

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


加好友 发短信
等级:幼狐 帖子:176 积分:1535 威望:0 精华:0 注册:2010/8/23 14:57:00
  发帖心情 Post By:2010/9/29 14:31:00 [只看该作者]

试了一下,不行

 

一般取得列的定义方式是Dim dc As DataCol = DataTables("订单").DataCols("日期"),直接从表中的列取,而我是希望从drs集合中取.定义dc为string也运行不了.

 


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/9/29 14:46:00 [只看该作者]

1、“直接从表中的列取,而我是希望从drs集合中取”

其实都一样的,因为drs集合是从表中取得,集合中的这些列和表的列都完全一样,所以 Dim dc As Datacol=Datatables("BPB量产电池").Datacols("产品名称")  就是你所需要的。 

 

2、drb("产品名称") = dra(dc.name)      

从上下文看,完全不需要这个定义和写法,其实可以按照mr725的:

     For Each dra As Datarow In drs      '历遍drs
    'Dim dc As Datacol=drs("产品名称")      

    Dim Drb As Datarow = Datatables("temp").AddNew()   
        drb("产品名称") = dra("产品名称")          ‘这样试一试···
    Next


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


加好友 发短信
等级:幼狐 帖子:176 积分:1535 威望:0 精华:0 注册:2010/8/23 14:57:00
  发帖心情 Post By:2010/9/29 14:52:00 [只看该作者]

可是运行提示错误是出在Dim dc As Datacol=drs("产品名称") ,而不是后面的那些行啊!

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


加好友 发短信
等级:幼狐 帖子:176 积分:1535 威望:0 精华:0 注册:2010/8/23 14:57:00
  发帖心情 Post By:2010/9/29 15:05:00 [只看该作者]

狐爸在我的另一个帖子中,把我的问题解决了,其实何必如此复杂呢

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/9/29 15:08:00 [只看该作者]

以下是引用飞鱼在2010-9-29 14:52:00的发言:
可是运行提示错误是出在Dim dc As Datacol=drs("产品名称") ,而不是后面的那些行啊!

 

应该说你错到哪去都不知道了,drs是个集合哎.

 

 

提问要养成良好的习惯,尽量上传示例文件。

[此贴子已经被作者于2010-9-29 15:08:42编辑过]

 回到顶部