请问不用水晶报表打印listview里的内容,越简单越好

powerlift 2005-02-23 12:04:36
请问不用水晶报表打印listview里的内容,越简单越好
最好能有示例代码~~~
谢谢了
...全文
91 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
长江支流 2005-02-24
  • 打赏
  • 举报
回复
打错了, 不就是二维数组么?去下载吧,有C#打印源码
长江支流 2005-02-24
  • 打赏
  • 举报
回复
这就是二维数组么?

只要是网格,这个全能打,还可以做各种套打、图形分析,有VB.NET和C#代码

http://community.csdn.net/Expert/topic/3278/3278050.xml
我不懂电脑 2005-02-23
  • 打赏
  • 举报
回复
PrintController 类控制文档的打印方式。


在派生类中实现时,PrintController 对 PrintDocument 的打印方式进行控制。PrintDocument.Print 调用打印控制器的 OnStartPrint、OnEndPrint、OnStartPage 和 OnEndPage 方法,这些方法又告诉打印机如何对文档进行打印。打印预览使用专用 PrintController。关于专用于打印预览的打印控制器的示例,请参见 PreviewPrintController。

PrintController 由 PrintDocument 使用,而这种使用通常不是直接的。

public class PrintingExample
{
private Font printFont;
private StreamReader streamToPrint;
static string filePath;


public PrintingExample()
{
Printing();
}

// The PrintPage event is raised for each page to be printed.
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
float linesPerPage = 0;
float yPos = 0;
int count = 0;
float leftMargin = ev.MarginBounds.Left;
float topMargin = ev.MarginBounds.Top;
String line=null;

// Calculate the number of lines per page.
linesPerPage = ev.MarginBounds.Height /
printFont.GetHeight(ev.Graphics) ;

// Iterate over the file, printing each line.
while (count < linesPerPage &&
((line=streamToPrint.ReadLine()) != null))
{
yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));
ev.Graphics.DrawString (line, printFont, Brushes.Black,
leftMargin, yPos, new StringFormat());
count++;
}

// If more lines exist, print another page.
if (line != null)
ev.HasMorePages = true;
else
ev.HasMorePages = false;
}

// Print the file.
public void Printing()
{
try
{
streamToPrint = new StreamReader (filePath);
try
{
printFont = new Font("Arial", 10);
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
// Print the document.
pd.Print();
}
finally
{
streamToPrint.Close() ;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}

// This is the main entry point for the application.
public static void Main(string[] args)
{
string sampleName = Environment.GetCommandLineArgs()[0];
if(args.Length != 1)
{
Console.WriteLine("Usage: " + sampleName +" <file path>");
return;
}
filePath = args[0];
new PrintingExample();
}
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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