项目下载地址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编辑过]