提供一个DataGrid的打印类

namespace AsterDnet
{
    using System;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Drawing;
    using System.Drawing.Printing;
    using System.IO;
    using System.Data ;
    using System.Data.SqlClient ;
    
    /// <summary>
    /// 打印DataGrid中的数据到打印机
    ///
    /// </summary>
    public class DataGridPrintDocument : PrintDocument
    {
        //打印字体
        private Font printFont = null;
        private DataTable dt=null;
        //当前页码
        private int currentPageNumber=1;
        //是否打印页码
        private bool isPrintPageNumber=false;
        public bool IsPrintPageNumber
        {
       get
       {
           return this.isPrintPageNumber ;

时间: 2024-10-01 22:55:06

提供一个DataGrid的打印类的相关文章

在网上找到一个.net的打印类,打印Dataset的,不错,保存于止

''======================================= 'DATAGRID控件通用打印类 '中和科技-孙利臣 '于2003年05月27日17:05 '用于打印DATAGRID控件中的数据. '======================================= Imports System.Drawing.PrintingImports System.Drawing.ColorImports System.Windows.FormsImports Syste

介绍一个增强的数据库类CDataSet

因为MFC完全支持数据库应用程序的开发,所以大多数数据库应用都使用CDatabase和CRecordset类,并且类向导(Class Wizard)提供了快速简易的方式来使用这两个类.有一点不足的就是当应用程序涉及到多表数据库时,类向导将产生大量的关于记录集的源码文件使得工程给人的感觉很臃肿混乱. 本文介绍如何使用一个模板记录集类来降低类向导所产生的记录集文件的数量,同时增强记录集类(CRecordset)的功能.这个模板记录集类叫做:CDataSet.它的主要目的是降低代码量,为数据对象数组提

方法-请高手提供一个可行的reportViewer的打印思路

问题描述 请高手提供一个可行的reportViewer的打印思路 接到一个很简单的要求,有一个小表格,要从数据库中提出相应的格子中后进行打印,虽然填充字段很少,但条数很多,由于表格很小,A4幅面的纸要纵向打3个,前面都很简单,用reportViewer很快搞定,问题出在打印排版上,由于要产生很多页,因为表格和页幅的不能很精确控制,在后面会发生表跨页的问题,影响使用.不知各位高手能提供有效的思路. 我想了几个方法都未成功: 1.在一页上做了三个同样的小表格分了三组,进行不同数据源的字段绑定,在最后

封装的一个asp.net验证码类

第一个反映是验证码的这些属性是否可以设置(也就是说是封装成一个类,然后以暴露公有属性和方法的方式来使用的,还是在直接在一般处理程序中实现了验证码的生成到输出),结果比较可惜,是后者...... 里面的算法感觉挺不错,至少对于我这种对算法几乎是不懂的人来说是这样,于是想到去封装一下她然后无耻地纳入自己的类库中去^^ old原文件如下:点击下载 首先分析一下这份代码中的不足(自己觉得的): 1.面向过程式的编程,如果要修改验证码的属性,例如修改字体的大小.背景颜色等细节的东西,需要去一般处理程序中找

ASP编写完整的一个IP所在地搜索类

ASP编写完整的一个IP所在地搜索类的修正文稿 修正了查询方法,查询的方法和追捕的一致:只是追捕会自动更正IP. 还有个函数的书写错误,也已经修正: 包括增加了一个IP地址正确性的验证函数.(只是从格式上判断) <% Server.ScriptTimeout = &HE10 '&H3C Response.Buffer = ("S.F." = "S.F.") Dim IpSearch '建立对象 Set IpSearch = New clsIpS

一个CFileFind的扩展类CFileFindExt

一.类CfileFindExt功能说明 大家经常需要对指定目录下的所有文件进行搜索或其它相同操作.若文件数很多,逐一对每个文件手工操作,很费时.本文提供一个搜索或处理指定目录下的所有文件的C++类.作者用基于层次遍历的非递归算法(以减少运行时的时间和空间开销)实现了一个 CFileFind 的扩展类 CFileFindExt,该类可以对指定目录下的所有文件进行搜索或相同的处理操作. 二.类 CFileFindExt 的接口说明及用法示例: 1.头文件.处理函数.以及类的声明: #include

探讨C++实现一个不可被继承的类

C#和Java都提供了一种机制让一个类不能被继承,如C#中的sealed关键字和Java的final关键字,然而C++程序员就没这么好命了.不过C++也可以模拟出这种效果,原理基于:子类的构造函数会自动调用父类的构造函数,同理析构函数也是一样.如果父类的构造函数和析构函数被设为私有的话,那么子类就无法调用,也就达到了父类不可被继承的目的了.原理很简单,按此原理我也实作出一个自认为很实用的工具类,在此献下丑,欢迎大家批评: template< typename TDerive, typename

介绍一个简单的JavaScript类框架

  这篇文章主要介绍了一个简单的JavaScript类框架,有助于初学者理解JS类的创建与继承,需要的朋友可以参考下 在写work-in-progress JavaScript book一书时,对于javascript继承体系,我花费了相当的时间,并在该过程中研究了各种不同的模拟经典类继承的方案.这些技术方案中,我最为推崇的是base2与Prototype的实现. 从这些方案中,应该能提炼出一个具有其思想内涵的框架,该框架须具有简单.可重用.易于理解并无依赖等特点,其中简单性与可用性是重点.以下

javascript-Javascript,一个通用的实现类继承的函数

问题描述 Javascript,一个通用的实现类继承的函数 var A = function() { this.a = 3; } var B = function() { this.b = 6; } function ext(A, B) { var subclass = B; //構造一個新的同名類類,用他來繼承父類,並且調用子類都構造函數 var B = function() { A.apply(this.arguments); subclass.apply(this.arguments);