急!2000分询求WinForm下通用dataset打印解决方案!

awei0124 2005-09-27 03:03:15
如题:
打印数据源为DataSet,根据DataSet中的行列打印数据,
最好可以设置某列进行合并,如
初始:
┌─┬─┬─┐
│aa│y1│z1│
├─┼─┼─┤
│aa│y2│z2│
├─┼─┼─┤
│bb│y3│z3│
└─┴─┴─┘
打印如下:
┌─┬─┬─┐
│ │y1│z1│
│aa├─┼─┤
│ │y2│z2│
├─┼─┼─┤
│bb│y3│z3│
└─┴─┴─┘
实在不能合并,也只要能完整打印dataset也就可以了
...全文
224 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
woainin 2005-10-08
  • 打赏
  • 举报
回复
用水晶报表,
然后分组就可以作到你的效果!
itmingong 2005-10-08
  • 打赏
  • 举报
回复
楼上的,能发给我一份吗?
allenzee@126.com,谢谢
smallMage 2005-10-06
  • 打赏
  • 举报
回复
发给你了
accpzj 2005-09-28
  • 打赏
  • 举报
回复
reportprinting 一个不错的开源项目
http://www.codeproject.com/ 里找一下
zwfhome1 2005-09-28
  • 打赏
  • 举报
回复
MIS金质打印通

语言:
C#(带C#与VB.NET使用工程)

功能特点:
简单快捷、易用实用,源码定制、变换无穷,Excel通打天下报表

功能概述:
本程序为通用打印程序,单据、会计凭证、发票清单、报表、任意复杂表格、合并表格如工矿企业合同都可以由系统提供的几个默认打印对象组合打印。
DataGrid、DataTable、ListView、MSHFlexGrid等二维形式或二维数组全部可以打印。源码二次开发,通打天下报表。
后期版本将陆续提供XML描述、SQL数据源的打印,并用管理器管理任意多个网格、文本对象、图象等,用户可以随意定义。
awei0124 2005-09-28
  • 打赏
  • 举报
回复
能给个实例吗?
smallMage 2005-09-28
  • 打赏
  • 举报
回复
#Region "声明所有变量"
'用户可自定义
Private footFont As New Font("Courier new ", 8) '当前要打印页脚的字体及字型大小
Private titleFont As New Font("Courier New", 16) '当前要列印表头的字体及字号
Private textFont As New Font("Courier New", 7) '当前要打印正文的字体及字号
Private headFont As New Font("Courier New", 7) '当前要列印表头的字体及字号
Private textAlign As ContentAlignment '当前要打印正文的对齐方式
Private headAlign As ContentAlignment '当前要打印标题的对方方式
Private titleAlign As ContentAlignment '当前要打印表头的正文对齐方式
Private footAlign As ContentAlignment '当前要打印页脚正文的对齐方式
Private RowsSpace As Integer '当前要打印的行与行之间的距离
Private titleText As String '当前要打印的表头正文


'以下供模块内部使用
Private ev As PrintPageEventArgs
' Private g As C1.Win.C1TrueDBGrid.C1TrueDBGrid
Private DataGridSource As DataGrid
Private DataGridPrint As PrintDocument
Private PrintPreview As PrintPreviewDialog
Private PageSetup As PageSetupDialog

Private printLines As Integer = 50 '当前页共要分成多少行
Private printRecordNumber As Integer = 45 '当前页共要打印的记录的行数


Private Cols As Integer '当前要打印的列
Private Rows As Integer = 1 '当前要打印的行

Private ColsCount As Integer '当前DATAGRID共有多少列
Private RowsCount As Integer '当前DATAGRID共有多少行

Private WidthCount As Integer '当前DATAGRID所有列的总宽度
Private PrintingLineNumber As Integer = 0 ' 当前正要打印的行号
Private PageRecordNumber As Integer = 0 '当前所要打印记录的行数,计算得到

Private X_unit As Integer '表的基本单位
Private Y_unit As Integer

Private PrintingPageNumber As Integer = 0 '正要打印的页号
Private PageNumber As Integer '还剩余多少页未打印

Private PrintRecordLeave As Integer '当前还有多少行没有打印
Private PrintRecordComplete As Integer = 0 '当前已经打印完的记录数

Private m_Top As Integer = 1 '页面上面的边距
Private m_Left As Integer = 1 '页面左边距
Private m_Width As Integer '页面的有效宽度
Private m_Height As Integer = 0 '页面的有效高度
Private DataGridTable As DataTable

#End Region
smallMage 2005-09-28
  • 打赏
  • 举报
回复
楼住留个邮箱。我发给你
lyb_abiandbel 2005-09-27
  • 打赏
  • 举报
回复
水晶报表应该能做到吧!
awei0124 2005-09-27
  • 打赏
  • 举报
回复
自己UP!

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧