以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表-分组打印(按月分组) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47687) |
||||
-- 作者:mamuaiqing -- 发布时间:2014/3/14 22:59:00 -- 专业报表-分组打印(按月分组) 分组打印的代码如下: Dim doc As New PrintDocDim rt As Prt.RenderTable Dim rx As prt.RenderText Dim tbl As Table = Tables("客户") Dim Rows As List(Of DataRow) Dim Regions As List(Of String) = tbl.DataTable.GetValues("地区") doc.Pagesetting.LandScape = True For Each Region As String In Regions rx = New prt.RenderText rx.Style.FontSize = 14 rx.Style.FontBold = True rx.Style.Spacing.Bottom = 2 rx.Text = "地区: " & Region doc.Body.Children.Add(rx) rt = New prt.RenderTable rt.Style.Font = Tables("客户").Font rt.Style.TextAlignVert = prt.AlignVertEnum.Center rt.Style.GridLines.All = New prt.LineDef(0.3,Color.LightGray) rt.Style.Spacing.Bottom = 5 rt.CellStyle.Spacing.All = 1 rt.Style.Font = tbl.Font Rows = tbl.Datatable.Select("[地区] = \'" & Region & "\'") For c As integer = 0 To tbl.Cols.Count - 1 rt.Cells(0,c).Text = tbl.Cols(c).Name rt.Cols(c).Width = tbl.Cols(c).PrintWidth For r As integer = 0 To Rows.Count -1 rt.Cells(r + 1, c).Text = rows(r)(tbl.Cols(c).Name) Next Next rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All doc.Body.Children.Add(rt) Next doc.preview() 如果要按日期中的"月"分组的话,怎么获得日期中不重复的"月"?又怎么按照不同月份生成报表? |
||||
-- 作者:Bin -- 发布时间:2014/3/15 9:24:00 -- 上例子. |
||||
-- 作者:mamuaiqing -- 发布时间:2014/3/15 12:52:00 -- 就拿专业报表文件中的"订单"表为例,按日期中的月份进行分组,打印出每个月订单明细
|
||||
-- 作者:Bin -- 发布时间:2014/3/15 14:19:00 -- .
|
||||
-- 作者:mamuaiqing -- 发布时间:2014/3/15 14:42:00 -- 原来是增加了年月列,感谢BIN老师的帮助
相对数据绑定中的"按月分组统计"这章讲的,Fields!日期.Value.Month,绑定数据可以获得日期中的月份更简单点,但少了其他东西,再研究研究 |