Foxtable(狐表)用户栏目专家坐堂 → 报表问题,请老师指导...(已经自行解决,另多谢don大哥提供另一思路)


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

主题:报表问题,请老师指导...(已经自行解决,另多谢don大哥提供另一思路)

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/5/13 15:28:00 [只看该作者]

俺只会一点SQLCommand:


Dim cmd,cmd1 As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "Select 项目,规格,类别,单价,数量,Round(单价*数量,2) As 金额 From {清单} where 类别 <>'a'"
dt = cmd.ExecuteReader()
cmd1.CommandText = "select sum(round(单价*数量,2)) AS 金额 from {清单} where 类别 = 'a'"

Dim dr As DataRow
dr =dt.addnew
dr("项目") = "@"
dr("类别") = "a"
dr("金额") = cmd1.ExecuteScalar

Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.DataTable = dt
dst.sort = "数量"
dst.Build()


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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/13 15:39:00 [只看该作者]

以下是引用菜鸟foxtable在2009-5-13 15:22:00的发言:
没人能解决吗?


既然是专业报表,可以一行一行生成,你想怎么折腾都行,只是别用专业报表的数据绑定,数据绑定是自动的,当然就不能对个别记录作特殊处理了。


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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/5/13 17:29:00 [只看该作者]

用个折中的办法解决了...
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表问题.table

Dim doc As New PrintDoc

Dim rt As Prt.RenderTable
Dim tbl As Table = Tables("清单")
Dim Rows As List(Of DataRow)
Dim Regions As List(Of String) = tbl.DataTable.GetUniqueValues("类别 <> '其他'","类别")
doc.Pagesetting.LandScape = false
For Each Region As String In Regions
    Dim rs As New prt.RenderText
    rs.Text = "费用类别:   " & Region
    rs.Style.FontSize = 10
    rs.Style.FontBold = True
    doc.Body.Children.Add(rs)
    rt = New prt.RenderTable
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center
    rt.Style.GridLines.Top = New prt.LineDef(0.4,Color.Black)
    rt.Style.Spacing.Bottom = 5
    rt.CellStyle.Spacing.All = 1
    rt.Style.Font = tbl.Font
    rt.Cols(0).Width = 40
    rt.Cols(1).Width = 30
    rt.Cols(2).Width = 0
    Rows = tbl.Datatable.Select("[类别] = '" & Region & "'")
    For c As integer = 0 To tbl.Cols.Count - 1
        rt.Cells(0,c).Text = tbl.Cols(c).Name
        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
    rt.Style.Gridlines.Horz = New prt.Linedef(0.3,Color.LightGray)
    doc.Body.Children.Add(rt)
Next


Dim Total As Double
Total = tbl.Datatable.Compute("Sum(金额)", "类别 = '其他'")
Dim rts As New prt.RenderText
rts.Text = "费用类别:    其他"
rts.Style.FontSize = 10
rts.Style.FontBold = True
doc.Body.Children.Add(rts)

rt = New prt.RenderTable
rt.Style.TextAlignVert = prt.AlignVertEnum.Center
rt.Style.GridLines.Top = New prt.LineDef(0.4,Color.Black)
rt.Style.Spacing.Bottom = 5
rt.CellStyle.Spacing.All = 1
rt.Style.Font = tbl.Font
rt.Cells(0,0).Text = "项目"
rt.Cells(0,6).Text = "金额"
rt.Cells(1,0).Text = "一次性医用消耗材料"
rt.Cells(1,6).Text = Total
rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All
rt.Style.Gridlines.Horz = New prt.Linedef(0.3,Color.LightGray)
doc.Body.Children.Add(rt)

doc.preview()

[此贴子已经被作者于2009-5-13 17:32:13编辑过]

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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/13 17:30:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
总数 14 上一页 1 2