关于GoldPrinter(金质打印通),设置网格头(脚)的简化
来源:互联网 发布:js的兼容性问题 编辑:程序博客网 时间:2024/05/01 11:52
首先,感谢"长江支流"的为我们提供的GoldPrinter(金质打印通)打印源码!
在使用GoldPrinter(金质打印通)时,设置网格头,需要定义数组,很麻烦,遂写了下面的代码简化之。在引用时这样只需要把下面函数添加进你的程序就可以了,调用方法如下,支持多行多列。
''*****网格头说明(可选)*****
misGoldPrinter.Header = SetGridHeader("aa,aa,aa|bb,bb,bb") '将定制对象,赋给页头
'-----------------
'设置表格上的标题,可以是多行
'------------------------
Private Shared Function SetGridHeader()Function SetGridHeader(ByVal HeaderStr As Object) As GoldPrinter.Header
'分行用“|”,分割用"," 例如:“a,b,c|d,e,f”
'行列数基本不受限制,但超过一页失去意义,因为以Body为主,以其它为辅
'实际上可以设置header.DataSource
'DataSource可以是字符串、一维数组、二维数组、DataTable、WinDataGrid、WebDataGrid、ListView
'MSHFlexGrid、HtmlTable等等二维形式
If TypeName(HeaderStr) = "String" Then
If HeaderStr = "" Then
Return Nothing
End If
Dim i, j As Int16
Dim RowNum, ColNum, StartChar, EndChar As Int16
Dim js As Boolean = True
For i = 0 To HeaderStr.Length - 1
If HeaderStr.Chars(i) = "|" Then
RowNum += 1
js = False '遇到分行就不要计列数了
End If
If Not js AndAlso HeaderStr.Chars(i) = "," Then
ColNum += 1
End If
Next
If RowNum > 0 Then
Dim header As New GoldPrinter.Header(RowNum + 1, ColNum + 1)
header.IsDrawAllPage = True '可以指定每页是否重复打印
StartChar = 0
EndChar = HeaderStr.Length
For i = 0 To RowNum
For j = 0 To ColNum
If j = ColNum Then
If i < RowNum Then
EndChar = HeaderStr.IndexOf("|", StartChar)
Else
EndChar = HeaderStr.Length
End If
Else
EndChar = HeaderStr.IndexOf(",", StartChar + 1)
End If
header.SetText(i, j, HeaderStr.Substring(StartChar, EndChar - StartChar))
StartChar = EndChar + 1
Next
Next
Return header
Else
Dim header As New GoldPrinter.Header
header.DataSource = HeaderStr
Return header
End If
Else
Dim header As New GoldPrinter.Header
header.DataSource = HeaderStr
Return header
End If
End Function
'设置表格上的标题,可以是多行
'------------------------
Private Shared Function SetGridHeader()Function SetGridHeader(ByVal HeaderStr As Object) As GoldPrinter.Header
'分行用“|”,分割用"," 例如:“a,b,c|d,e,f”
'行列数基本不受限制,但超过一页失去意义,因为以Body为主,以其它为辅
'实际上可以设置header.DataSource
'DataSource可以是字符串、一维数组、二维数组、DataTable、WinDataGrid、WebDataGrid、ListView
'MSHFlexGrid、HtmlTable等等二维形式
If TypeName(HeaderStr) = "String" Then
If HeaderStr = "" Then
Return Nothing
End If
Dim i, j As Int16
Dim RowNum, ColNum, StartChar, EndChar As Int16
Dim js As Boolean = True
For i = 0 To HeaderStr.Length - 1
If HeaderStr.Chars(i) = "|" Then
RowNum += 1
js = False '遇到分行就不要计列数了
End If
If Not js AndAlso HeaderStr.Chars(i) = "," Then
ColNum += 1
End If
Next
If RowNum > 0 Then
Dim header As New GoldPrinter.Header(RowNum + 1, ColNum + 1)
header.IsDrawAllPage = True '可以指定每页是否重复打印
StartChar = 0
EndChar = HeaderStr.Length
For i = 0 To RowNum
For j = 0 To ColNum
If j = ColNum Then
If i < RowNum Then
EndChar = HeaderStr.IndexOf("|", StartChar)
Else
EndChar = HeaderStr.Length
End If
Else
EndChar = HeaderStr.IndexOf(",", StartChar + 1)
End If
header.SetText(i, j, HeaderStr.Substring(StartChar, EndChar - StartChar))
StartChar = EndChar + 1
Next
Next
Return header
Else
Dim header As New GoldPrinter.Header
header.DataSource = HeaderStr
Return header
End If
Else
Dim header As New GoldPrinter.Header
header.DataSource = HeaderStr
Return header
End If
End Function
- 关于GoldPrinter(金质打印通),设置网格头(脚)的简化
- 谈论C#.NET 打印连续纸高度动态变化(基于长江支流的金质打印通)
- 开源:MIS金质打印通原理及实现 Step by step (1)
- 网格(mesh)简化
- 网格简化
- 报表源代码 winform c# -基于DexExpressXtraReport的打印报表,后台生成报表,winform版本,采用C#语言封装,比金质通更强大,现在开放源代码
- 报表源代码 winform c# -基于DexExpressXtraReport的打印报表,后台生成报表,winform版本,采用C#语言封装,比金质通更强大,现在开放源代码 .
- 报表源代码 winform c# -基于DexExpressXtraReport的打印报表,后台生成报表,winform版本,采用C#语言封装,比金质通更强大,现在开放源代码 .
- 关于easyui网格设置功能
- 关于目标的简化
- C# 关于默认打印纸张的设置
- 非流形建筑物网格简化(CAD/CG2008发表)
- 关于网格的开发环境
- 简化的打印语句-静态导入
- header(头域)中缓存设置的详解(关于Cache-control和Pragma)
- header(头域)中缓存设置的详解(关于Cache-control和Pragma)
- 关于《UNIX环境高级编程(第三版)》中apue.h头文件的设置
- 关于设置http响应头connection的作用
- jsp中静态include与动态include
- 建立QQ临时会话
- 李沫南谈Firefox及其Gecko内核的开发
- 保证上传文件完整性的一种校验方法
- 选择it
- 关于GoldPrinter(金质打印通),设置网格头(脚)的简化
- 关于需求
- IT人员必看的10个论坛
- Spring中的Bean和BeanFactory
- forward和redirect的区别
- 取得浏览器当前语言 Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
- vc6编译连接选项全解
- XML 解析方法
- Business Object Builder