Foxtable(狐表)用户栏目专家坐堂 → [求助]专业报表中的关联行问题


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

主题:[求助]专业报表中的关联行问题

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


加好友 发短信
等级:小狐 帖子:371 积分:3120 威望:0 精华:0 注册:2013/7/13 15:49:00
[求助]专业报表中的关联行问题  发帖心情 Post By:2017/1/18 23:57:00 [只看该作者]

Dim rx As prt.RenderText

Dim rt As prt.RenderTable

Dim Rows As List(Of DataRow)

Dim tbl As new List(of DataRow)

tbl = DataTables("日记账").SQLSelect("[公司编码] = '" & _UserGsbm & "'and [日期] = '" & pzrq.Value & "'")


For i As Integer = 0 To tbl.Count - 1

    rx = New prt.RenderText

    rx.Style.FontSize = 12

    rx.Style.FontBold = True

    rx.Style.Spacing.Bottom = 5

    rx.Text = "流水编号: " & tbl(i)("流水编号") & "日期:" & tbl(i)("日期") & "收入:" & tbl(i)("收入") & "支出:" & tbl(i)("支出") & "流水状态:" & tbl(i)("流水状态") & "记账人:" & tbl(i)("记账_负责") & "记账日期:" & tbl(i)("记账_日期")

    doc.Body.Children.Add(rx)

    

    rt = New prt.RenderTable

    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center

    rt.Style.TextAlignVert = prt.AlignVertEnum.Center

    rt.Style.Borders.Bottom = New prt.LineDef(0.3,Color.LightGray)

    rt.CellStyle.Spacing.All = 1

    rt.Cols.Count = 4

    rt.Cells(0,0).Text = "明细编号"

    rt.Cells(0,1).Text = "摘要日期"

    rt.Cells(0,2).Text = "摘要对象"

    rt.Cells(0,3).Text = "摘要事件"

    rt.Cells(0,4).Text = "收支方式"

    rt.Cells(0,5).Text = "凭证编号"

    rt.Cells(0,6).Text = "收入"

    rt.Cells(0,7).Text = "支出"

    rt.Cells(0,8).Text = "订单编号"

    rt.rows(0).Style.Borders.Top = New prt.LineDef(1,Color.LightGray)

    rt.rows(0).Style.Borders.Bottom = New prt.LineDef(1,Color.LightGray)

    

    Rows = tbl(i).GetChildRows("明细账")

    For r As Integer = 0 To Rows.Count - 1

        rt.Cells(r+1,0).Text = rows(r)("明细编号")

        rt.Cells(r+1,1).Text = rows(r)("摘要日期")

        rt.Cells(r+1,2).Text = rows(r)("摘要对象")

        rt.Cells(r+1,3).Text = rows(r)("摘要事件")

        rt.Cells(r+1,4).Text = rows(r)("收支方式")

        rt.Cells(r+1,5).Text = rows(r)("凭证编号")

        rt.Cells(r+1,6).Text = rows(r)("收入")

        rt.Cells(r+1,7).Text = rows(r)("支出")

        rt.Cells(r+1,8).Text = rows(r)("订单编号")

    Next

    doc.Body.Children.Add(rt)

    rx = New prt.RenderText

    rx.Style.FontBold = True

    rx.Style.Spacing.Top = 3

    rx.Text = "笔数: " & Rows.Count

    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Right

    doc.Body.Children.Add(rx)

Next


想问下,这个求 关联表子表的怎么写?


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/19 0:43:00 [只看该作者]

现在有什么问题?红色的,改成你子表的表名。

 

Rows = tbl(i).GetChildRows("明细账")


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


加好友 发短信
等级:小狐 帖子:371 积分:3120 威望:0 精华:0 注册:2013/7/13 15:49:00
  发帖心情 Post By:2017/1/19 10:46:00 [只看该作者]

这个就是我改完的,报表中子表没有数据

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/19 10:58:00 [只看该作者]

加入代码 msgbox(rows.Count)

 

如果弹出的是0,说明,并没有找到对应的子表的内容,你数据匹配有问题。

 

如果还有问题,做个实例上来测试。


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


加好友 发短信
等级:小狐 帖子:371 积分:3120 威望:0 精华:0 注册:2013/7/13 15:49:00
  发帖心情 Post By:2017/1/19 23:00:00 [只看该作者]

就是找不到子表数据,数据匹配问题总那里能检查下

不是代码写得不对?
[此贴子已经被作者于2017/1/19 23:21:18编辑过]

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


加好友 发短信
等级:小狐 帖子:371 积分:3120 威望:0 精华:0 注册:2013/7/13 15:49:00
  发帖心情 Post By:2017/1/19 23:23:00 [只看该作者]

是代码问题,不会写!!!
tbl 是 集合
 rows 也是集合
怎么写呢?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/20 0:28:00 [只看该作者]

试试改成这样

 

Rows = DataTables("明细账").Select("第一列 = '" & tbl(i)("第一列") & "' And 第二列 = '" & tbl(i)("第二列") & "'")

 


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106053 积分:539358 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/20 9:10:00 [只看该作者]

关联子表的数据是不是没有加载出来?

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


加好友 发短信
等级:小狐 帖子:371 积分:3120 威望:0 精华:0 注册:2013/7/13 15:49:00
  发帖心情 Post By:2017/1/22 20:51:00 [只看该作者]

是的,没有加载,就是红色这行的问题


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/22 23:00:00 [只看该作者]

方法一:先把数据加载出来;

 

方法二: 用7楼的方法,直接sqlSelect查数据。


 回到顶部