以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]专业报表中求如何能打印多个时间的病程记录。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=13031) |
||||
-- 作者:pc005637 -- 发布时间:2011/9/25 9:30:00 -- [求助]专业报表中求如何能打印多个时间的病程记录。 设计了一个项目,目的用于打印病程记录。<br> "病案打印"表和"病程记录"表利用"病案号"列单向关联。<br> 在专业报表管理器已经设计了一个报表模板,能分别打印各个月末的病程记录。<br> 想要的效果,如果在子表"病案打印.病程记录"中选定了数条记录的话,能同时打印出来。这样可以节省很多时间。<br> 能否实现?谢谢。
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/25 9:43:00 -- Dim Doc As New PrintDoc doc.PageSetting.PaperKind = 9 \'设定为A4纸 Doc.PageSetting.RightMargin = 5 \'设置右边距 doc.AutoRotate = False \'禁止自动旋转打印内容 Doc.PrinterName = "IBM Proprinter X24" doc.Style.FontSize = 14 Doc.Style.F Dim rx As prt.RenderText Dim x As Integer = 0 \'定义水平偏移参数 Dim y As Integer = 0 \'定义垂直偏移参数 Dim g As Integer = 0 \'定义不同月末的垂直偏移参数 Dim CurRow As Row = Tables("病案打印").Current Dim cnt As Integer For i As Integer = Tables("病案打印.病程记录").TopPosition To Tables("病案打印.病程记录").BottomPosition Dim CurRow6 As Row = Tables("病案打印.病程记录").Rows(i) cnt = cnt + 1 Select Case CurRow6("记录类型") Case "三月末","六月末" g = 0 Case "四月末","七月末" g = 88 Case "五月末","八月末" g = 177 Case "一月末" g = 132 Case "二月末" g = 176 End Select Dim ra As New prt.RenderArea \'定义一个容器 ra.x = 20 + x ra.y = 32 + y * cnt + g rx = new prt.RenderText rx.Text = CurRow6("记录时间").Date rx.Style.Spacing.Bottom = 6 ra.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow6("记录正文") rx.Style.TextIndent = 10 rx.Width = 168 rx.Style.LineSpacing = 220 rx.Style.WordWrap = True rx.Style.Spacing.Bottom = 6 ra.Children.Add(rx) doc.body.Children.Add(ra) Next doc.Preview() |
||||
-- 作者:pc005637 -- 发布时间:2011/9/25 11:35:00 -- 非常感谢! 非常感谢! |