C#中使用GDI+实现复杂打印

C#中使用GDI+实现复杂打印

 

近日做报表,需要实现一个比较特殊的打印:针对不同患者的药费记录,打印不同的清单,并且支持一次打印多个患者的记录。其效果看起来应该像下面这个样子:

 

如上所述,使用弱智的水晶报表,就会遇到如何构造数据源的问题,由于不同患者的药费记录和遗嘱记录都不同,而且整体上需要一个患者一个清单,所以其数据源只能为一个数组,而不是简单的DataTable。小弟一向对大且笨拙的CrystalReport不感冒,再加上对GDI+比较痴迷,索性费点功夫,使用GDI+来打印上述报表。

 

首先需要构造数据源,创建一个ArrayList对象a,然后再把每个患者需要打印的东东保存为一个ArrayList放入ATotal中。

if( a != null )

                       {

                                a.Clear();

                       }

                       for( int m = 0; m < 3; m ++ )

                       {

                                ArrayList a1 = new ArrayList();

                                string x0 = "住院患者一日清单";

                                string x1 = "入院日期: 2007-11-11     结算日期: 2007-11-11 2007-11-15 ";

                                string x2 = "姓名:欧阳峰  住院号:20090909090   床:512 妇科";

                                string x3 = "项目编号*项目名称*单价*数量*单位";  // 注意其中的*标志

                                string[] x4 = new string[ 90 ]; // 假设有90条数据,不固定

                                for( int i = 0; i < 90<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值