using System; using System.Windows.Forms; using System.Drawing; using System.Drawing.PRinting; using System.Data; using System.Collections; using DataLibrary;
namespace ControlLibrary { /// /// DataGrid打印 /// public class DataGridPrinter { private PrintDocument ThePrintDocument; private DataTable TheTable; private DataGrid TheDataGrid; public int RowCount = 0; private const int kVerticalCellLeeway = 10; public int PageNumber = 1; public ArrayList Lines = new ArrayList(); public int header=0; public int footer=0; DataCatena DataCatena1; public int PageWidth; public int PageHeight; public int TopMargin; public int BottomMargin; int GridWidth = 0; public int LeftMargin; public int RightMargin; public string PaperName; public int pagecount; private int rows_page; public bool showfooter;
public int bodylength { get { if(this.PageNumber return (1+this.rows_page) * ((int)(TheDataGrid.Font.SizeInPoints) + kVerticalCellLeeway); else return (this.TheTable.Rows.Count + 1 -(this.rows_page*(this.PageNumber-1))) * ( (int) (TheDataGrid.Font.SizeInPoints) + kVerticalCellLeeway); } }
public DataGridPrinter(DataGrid aGrid, PrintDocument aPrintDocument,string theform,int Header,int Footer) { // // TODO: Add constrUCtor logic here // this.header=Header; this.footer=Footer; this.showfooter=true; TheDataGrid = aGrid; ThePrintDocument = aPrintDocument; if(theform!="") { DataCatena1=new DataCatena(); DataView myDV=DataCatena1.GetDataView("select * from yh_bbdy where bm='"+theform +"'");