以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 老大,帮我看看这个专业报表代码应该怎么改? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21693) |
-- 作者:blackzhu -- 发布时间:2012/7/21 16:22:00 -- 老大,帮我看看这个专业报表代码应该怎么改? Tables(e.Form.Name & "_Table1") .Select(0, 0, CurrentTable.Rows.Count - 1, CurrentTable.Cols.Count - 1) Dim doc As New PrintDoc \'定义一个报表 \'Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight Dim ra As New prt.RenderArea Dim rt As prt.RenderText ra.Width = 60 \'设置标签宽度 ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割 ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止垂直分割 ra.Style.Spacing.Right = 2 \'设置标签之间的所有和上下间隔为2毫米 ra.Style.Spacing.Bottom = 2 ra.Style.Padding.All = 1 \' 标签内容距离边框为1毫米 ra.Style.Borders.All = New prt.Linedef(0.3, Color.Black) \'设置边框 ra.DataBinding.DataSource = BindTables("代券信息_Table1") \'将容器绑定到员工表 Dim Bar As New BarCodeBuilder Bar.Symbology = Barpro.Symbology.QRCode Bar.Code = "[Fields!代券代码.Value]" Dim rm As New prt.RenderImage rm.Image = Bar.GetImage(200) doc.Body.Children.Add(rm) Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中 rt = New prt.RenderText rt.Text = "代券代码:[Fields!代券代码.Value]" ra.Children.Add(rt) \'添加到容器中 rt = New prt.RenderText rt.Text = "启始日期:[Format(Fields!启始日期.Value,""yyyy-MM-dd"")]" ra.Children.Add(rt) rt = New prt.RenderText rt.Text = "结束日期:[Format(Fields!结束日期.Value,""yyyy-MM-dd"")]" ra.Children.Add(rt) rt = New prt.RenderText rt.Text = "使用规则:[Fields!使用规则.Value]" ra.Children.Add(rt) \' Doc.Preview() 我想是一行 并排 条形码 框子 条形码 框子 这样的格式
|
-- 作者:blackzhu -- 发布时间:2012/7/21 16:26:00 -- 现在是这样的. |
-- 作者:狐狸爸爸 -- 发布时间:2012/7/21 16:52:00 -- 这是没有办法解决的,你只能不用绑定,手工编码遍历所有行,逐行生成条码和框子,逐个加入。 |
-- 作者:blackzhu -- 发布时间:2012/7/21 17:08:00 -- 啊!不会吧? Tables(e.Form.Name & "_Table1") .Select(0, 0, CurrentTable.Rows.Count - 1, CurrentTable.Cols.Count - 1) Dim doc As New PrintDoc \'定义一个报表 Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight Dim ra As New prt.RenderArea Dim rt As prt.RenderText ra.Width = 60 \'设置标签宽度 ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割 ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止垂直分割 ra.Style.Spacing.Right = 2 \'设置标签之间的所有和上下间隔为2毫米 ra.Style.Spacing.Bottom = 2 ra.Style.Padding.All = 1 \' 标签内容距离边框为1毫米 ra.Style.Borders.All = New prt.Linedef(0.3, Color.Black) \'设置边框 ra.DataBinding.DataSource = BindTables("代券信息_Table1") \'将容器绑定到员工表 Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中 Dim Bar As New BarCodeBuilder Bar.Symbology = Barpro.Symbology.QRCode Bar.BarRatio = 0.3 Bar.BarHeight = 5 Bar.Code = "代券代码:[Fields!代券代码.Value]" Dim rm As New prt.RenderImage rm.Image = Bar.GetImage(300) ra.Children.Add(rm) rt = New prt.RenderText rt.Text = "代券代码:[Fields!代券代码.Value]" ra.Children.Add(rt) \'添加到容器中 rt = New prt.RenderText rt.Text = "启始日期:[Format(Fields!启始日期.Value,""yyyy-MM-dd"")]" ra.Children.Add(rt) rt = New prt.RenderText rt.Text = "结束日期:[Format(Fields!结束日期.Value,""yyyy-MM-dd"")]" ra.Children.Add(rt) rt = New prt.RenderText rt.Text = "使用规则:[Fields!使用规则.Value]" ra.Children.Add(rt) \' Doc.Preview() 我现在的这个 变成了.
|
-- 作者:blackzhu -- 发布时间:2012/7/21 17:08:00 -- 但是不好看 ,EXCEL有这个二维码打印的字体吗? |
-- 作者:狐狸爸爸 -- 发布时间:2012/7/22 11:12:00 -- 其实自己遍历,不知道多方便,你打开CaseStudy目录下的文件: Excel报表.Table
然后在命令窗口执行下面的代码:
|