急求解决c#打印问题!!!

zhlin3415058 2008-05-26 11:57:45
打印一个DataTable(表里面的数据是通过foreach循环添加进去的)
DataTable里有31条数据(即31行),打印表是以列的形式添加的,如下所示:
builder.AddTable (tbjbyc.DefaultView, true, 100f);
builder.DefaultColumnAlignment = ReportPrinting.HorizontalAlignment.Center;
builder.AddColumn("异常和疾病名称","异常和疾病名称",2.3f,true,true);
builder.AddColumn("姓名","姓名",3.0f,true,true);
builder.AddColumn("人数","人数",1.0f,true,true);
builder.AddColumn("所占百分比","所占百分比",1.0f,true,true);
为什么我打印预览时,就会卡死,cpu 100%
我把表里的数据从循环第27次的时候,跳出循环,即表里有27行数据,可以正常打印,超过27条就不行了..

于是我将表进行了几组数据测试,另一组数据有61行,打印31行之前的的,也可以正常打印,超过31行就不行了...
通过两组数据的测试,我怀疑这是不是打印纸张长度的计算有问题,因为他们每次卡死都是在打印到第2页大半的位置卡死...

- -可我不知道打印一张表的最大长度是在哪里修改... 有几个打印类我还没看懂
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
周公 2008-06-03
  • 打赏
  • 举报
回复
我以前做的都是自己绘制的方式打印的。不知道你那个builder是什么的实例?
zhgroup 2008-06-03
  • 打赏
  • 举报
回复
提供一点思路:首先要确认打印纸张的宽度与高度,然后根据纸张的大小,GDI绘制报表内容,自行何时分页打印.
BIGBIRDINWOODS 2008-06-02
  • 打赏
  • 举报
回复
應該不是紙張的問題,多貼些代碼出來才能看啊,樓主
Jade_2008 2008-05-26
  • 打赏
  • 举报
回复
我不知道你用的是什么报表,但是绝对不是纸张最大长度的问题
yagebu1983 2008-05-26
  • 打赏
  • 举报
回复
关注+学习!!

110,568

社区成员

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

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

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