Foxtable(狐表)用户栏目专家坐堂 → 报表问题。


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

主题:报表问题。

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
报表问题。  发帖心情 Post By:2012/5/2 12:37:00 [只看该作者]

项目下载地址http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&replyID=122711&ID=19077&skin=1

上次做过,但是不允许重复提交,只好新开一个帖子,望版主海涵!!

 

上次想到不够周全,实际用到之后才发现,还有一点问题,还望大师继续指点。

如图,项目中添加一个《接受单位》列,希望能够按日期+接受单位生成报表,并自动保存报表,

自己也努力过,毕竟功力不深,搞定乱七八糟。所以还得请大师指点阿。

附带自己改编的代码,仅用以表示努力过,见笑了

Dim doc As New PrintDoc
Dim rt As New prt.RenderTable()
doc.Body.Children.Add(rt)
rt.Style.GridLines.All = New prt.Linedef
rt.cells(0,0).text = "客户名"
rt.cells(0,1).text = "地区"
rt.cells(0,2).text = "重量1"
rt.cells(0,3).text = "重量2"
rt.cells(0,4).text = "重量3"
rt.cells(0,5).text = "重量4"
rt.cells(0,6).text = "重量5"


For i As Integer = Tables("发货单表").TopPosition To Tables("发货单表").BottomPosition
Dim dr As DataRow = Tables("发货单表").Rows(i).DataRow
Dim crs As List(of DataRow) = dr.GetChildRows("公斤数录入")
If crs.count > 0 Then
rt.Rows.Count = rt.Rows.count +1
Dim st As Integer = rt.Rows.count - 1 '起始行位置
Dim nt As Integer = st '当前行位置
Dim cp As Integer = 2 '当前列位置
rt.cells(st,0).text = dr("客户名")
rt.cells(st,1).text =dr("联系方式")
rt.cells(st,2).text =dr("联系方式2")
rt.cells(st,3).text =dr("剩余地址")
rt.cells(st,4).text = dr("地区")
For n As Integer = 0 To crs.count -1
rt.cells(nt,cp).text = crs(n)("公斤数")
cp = cp + 1
If cp = 7 Then
cp=2
nt = nt +1
End If
Next
rt.cells(st,0).SpanRows = nt -st +1
rt.cells(st,1).SpanRows = nt -st +1
End If
Next
doc.Preview() '预览报表


图片点击可在新窗口打开查看此主题相关图片如下:报表样本.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-5-2 12:37:05编辑过]

 回到顶部