以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何将表B的列标题写入到表A的第一行? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3842) |
-- 作者:yangming -- 发布时间:2009/8/9 11:06:00 -- 如何将表B的列标题写入到表A的第一行? 下面的代码结果是将最后一列的标题全部写入到第一行了,我要的结果是表A第一列写入表B的第一列标题,表A第二列写入表B的第二列标题,以此类推 Dim dr As DataRow = DataTables("表B").DataRows(0) For Each c As DataCol In DataTables("表B").DataCols For Each cl As DataCol In DataTables("Sheet6").DataCols dr(c)=cl.Name Next Next |
-- 作者:mr725 -- 发布时间:2009/8/9 12:04:00 -- Dim dr As DataRow = DataTables("表A").DataRows(0) dim tt as string For Each c As DataCol In DataTables("表B").DataCols tt = tt & "|" & c.name Next dim n as integer For Each cl As DataCol In DataTables("表A").DataCols dr(cl)=tt.split("|")(n+1) n=n+1 Next 刚才A B 表颠倒了 [此贴子已经被作者于2009-8-9 12:08:30编辑过]
|
-- 作者:yangming -- 发布时间:2009/8/9 12:57:00 -- 以下是引用mr725在2009-8-9 12:04:00的发言:
Dim dr As DataRow = DataTables("表A").DataRows(0) dim tt as string For Each c As DataCol In DataTables("表B").DataCols tt = tt & "|" & c.name Next dim n as integer For Each cl As DataCol In DataTables("表A").DataCols dr(cl)=tt.split("|")(n+1) n=n+1 Next 刚才A B 表颠倒了 [此贴子已经被作者于2009-8-9 12:08:30编辑过] 谢谢mr725老师! |
-- 作者:mr725 -- 发布时间:2009/8/9 13:01:00 -- 简化一下::::::::::::: Dim dr As DataRow = DataTables("表A").DataRows(1) Dim tt as string Dim n as integer For Each c As DataCol In DataTables("表B").DataCols tt = c.name dr(Tables("表A").Cols(n).name)=tt n=n+1 Next |
-- 作者:mr725 -- 发布时间:2009/8/9 13:05:00 -- yangming版主,我可当不了老师, 只是刚好写过类似的代码, 好多都不会的~ |
-- 作者:yangming -- 发布时间:2009/8/9 13:30:00 -- 以下是引用mr725在2009-8-9 13:05:00的发言:
yangming版主,我可当不了老师, 只是刚好写过类似的代码, 好多都不会的~ 能者为师,,这段代码我搞了二天也没搞出来,就是没想到复制为文本再提取,有时候就是这么笨,呵呵 |
-- 作者:yangming -- 发布时间:2009/8/9 13:38:00 -- 以下是引用mr725在2009-8-9 13:01:00的发言:
简化一下::::::::::::: Dim dr As DataRow = DataTables("表A").DataRows(1) Dim tt as string Dim n as integer For Each c As DataCol In DataTables("表B").DataCols tt = c.name dr(Tables("表A").Cols(n).name)=tt n=n+1 Next 这个好,呵 |
-- 作者:migold -- 发布时间:2009/8/13 11:37:00 -- 我参考楼主的代码: |
-- 作者:migold -- 发布时间:2009/8/13 11:39:00 -- 类似: For Each dt As DataTable In DataTables For Each dc As DataCol In dt.DataCols Dim dr As DataRow = DataTables("表A").AddNew() dr("表名")=dt.Name dr("表标题")=dt.caption dr("列名")=dc.Name dr("列标题")=dc.caption Next Next
|
-- 作者:mr725 -- 发布时间:2009/8/13 12:30:00 -- For Each dt As DataTable In DataTables For Each dc As DataCol In dt.DataCols Dim dr As DataRow = DataTables("表A").AddNew() dr("表名")=dt.Name dr("表标题")=dt.caption dr("列名")=dc.Name dr("列标题")=dc.caption Next Next 这个不就可以吗? 另外,要按楼上的改,那么表A你得事先准备好增加列 = 表个数 X 每个表的列数 ,多麻烦啊~ 对不? [此贴子已经被作者于2009-8-13 12:54:13编辑过]
|