求助c#打印源代码 分不够可以再加 送qq币也行
解决方案 »
- 关于视频压缩
- 网络通讯可靠性怎么保证?
- Provider = Microsoft.Jet.OLEDB.4.0
- WinForm 问题,请大虾帮忙
- c#想把mp3文件赋给个变量或类怎么写
- C#系列问题-3
- Sybase -- SQL Anywhere C# 连接问题
- 能用C#中关于打印方面的类做BS结构的打印吗?
- 为拉爱情,学习c#,但是第二天就遇难题,请大家帮个忙啊!
- 请教一个简单问题:要在一个form窗体显示之后执行一些代码,应该把这些代码放在form的哪个事件里?(不要放在form_load())
- HttpWebRequest页面请求时编码问题
- 高分求C#发送短信问题,解决问题一定给分!!!!请各位高手帮忙
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Printing;
using System.Data;
using System.Windows.Forms;namespace WindowsApplication1
{
/**//// <summary>
/// Summary description for DatagridPrint.
/// </summary>
public class DatagridPrint
{
private DataGrid dataGrid;
private PrintDocument printDocument;
private PageSetupDialog pageSetupDialog;
private PrintPreviewDialog printPreviewDialog; public DatagridPrint(DataGrid dataGrid)
{
this.dataGrid = dataGrid;
printDocument = new PrintDocument();
printDocument.PrintPage += new PrintPageEventHandler(this.printDocument_PrintPage);
} private void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
int rowCount = 0;
int colCount = 0;
int x = 0;
int y = 0;
int rowGap = 20;
int colGap = 5;
int leftMargin = 50;
Font font = new Font("Arial", 10);
Font headingFont = new Font("Arial", 11, FontStyle.Underline);
Font captionFont = new Font("Arial", 10, FontStyle.Bold);
Brush brush = new SolidBrush(Color.Black);
string cellValue = ""; if(dataGrid.DataSource.GetType().ToString() == "System.Data.DataTable")
{
rowCount = ((DataTable)dataGrid.DataSource).Rows.Count;
}
else if(dataGrid.DataSource.GetType().ToString() == "System.Collections.ArrayList")
{
rowCount = ((ArrayList)dataGrid.DataSource).Count;
}
colCount = dataGrid.TableStyles[0].GridColumnStyles.Count; //print caption
if(dataGrid.CaptionVisible)
{
y += rowGap;
x = leftMargin;
e.Graphics.DrawString(dataGrid.CaptionText, captionFont, brush, x, y);
} //print headings
y += rowGap;
x = leftMargin;
for(int j = 0; j < colCount; j++)
{
if(dataGrid.TableStyles[0].GridColumnStyles[j].Width > 0)
{
cellValue = dataGrid.TableStyles[0].GridColumnStyles[j].HeaderText;
e.Graphics.DrawString(cellValue, headingFont, brush, x, y);
x += dataGrid.TableStyles[0].GridColumnStyles[j].Width + colGap;
}
} //print all rows
for(int i = 0; i < rowCount; i++)
{
y += rowGap;
x = leftMargin;
for(int j = 0; j < colCount; j++)
{
if(dataGrid.TableStyles[0].GridColumnStyles[j].Width > 0)
{
cellValue = dataGrid[i,j].ToString();
e.Graphics.DrawString(cellValue, font, brush, x, y);
x += dataGrid.TableStyles[0].GridColumnStyles[j].Width + colGap;
y = y + rowGap * (cellValue.Split(new char[] {' ', ' '}).Length - 1);
}
}
}
string s = cellValue;
string f3 = cellValue;
} public PrintDocument GetPrintDocument()
{
return printDocument;
} public void Print()
{
try
{
pageSetupDialog = new PageSetupDialog();
pageSetupDialog.Document = printDocument;
pageSetupDialog.ShowDialog();
printPreviewDialog = new PrintPreviewDialog();
printPreviewDialog.Document = printDocument;
printPreviewDialog.Height = 600;
printPreviewDialog.Width = 800;
printPreviewDialog.ShowDialog();
}
catch(Exception e)
{
throw new Exception("Printer error." + e.Message);
} }
}
}
我的是不是属于DataGrid啊 界面上有一读出数据库后自动生成的列表 然后将该列表打印出来。
<input name="Print" class="np" id="Print" onclick="window.print();" type="button" value="打印">
你的整个网页将被打印。
适用于报表和列表的网页
我要实现的是listview里面的列表内容给打印出来啊
本人通过listview来显示数据库表的内容,但不知道如何实现类似word的,对listview内容的打印预览、打印设置及打印,请各位大侠高手支支高招!!
http://www.codeproject.com/vb/net/datagridprinter.asp
http://www.codeproject.com/vb/net/DataGrid_Printing_Class.asp
http://www.codeproject.com/cs/miscctrl/DataGridPrinter.asp
//公用打印窗体,傳入水晶報表即可
public static void PrintRpt(ReportClass rptView)
{
mis.Attend.FrmPrint printDlg = new mis.Attend.FrmPrint(); //登陸信息
TableLogOnInfo logonInfo = new TableLogOnInfo();
logonInfo.ConnectionInfo.ServerName = "srv";
logonInfo.ConnectionInfo.DatabaseName = "mis";
logonInfo.ConnectionInfo.UserID = "sa";
logonInfo.ConnectionInfo.Password = "123"; rptView.Database.Tables[0].ApplyLogOnInfo(logonInfo);
printDlg.crv.ReportSource = rptView;
printDlg.Show();
}
http://dnc.com.cn/help.aspx
是什么意思啊 ?
你有水晶报表的例子吗
信箱 [email protected] qq 121236717