基于.NET的三层构架的护理文书系统的设计与实现(14)
时间:2016-12-03 10:54 来源:毕业论文 作者:毕业论文 点击:次
if (flag == 0) { flag = 1; lineStartX = getX(k); lineStartY = getResY(resData); if (hxtpye == 0) { g2.DrawString("○", ST8R, Brushes.Red, lineStartX, (float)(lineStartY - LineY)); } } else { lineEndX = getX(k); lineEndY = getResY(resData); g2.DrawLine(redPenS, lineStartX + gridWidthByPoint / 2, lineStartY, lineEndX + gridWidthByPoint / 2, lineEndY); lineStartX = lineEndX; lineStartY = lineEndY; if (hxtpye == 0) { g2.DrawString("○", ST8R, Brushes.Red, lineStartX, (float)(lineStartY - (float)3.9)); } } 4.4.2 表格样式的打印 表格样式的打印是通过第三方软件Grid++Report,以护理记录单为例,首先绘制打印的模版,这个有点像在设计器里绘制winform的界面,如图4.5所示: 图4.5 护理记录单打印模版 然后还需要在程序中调用该模版,并把table中的数据传递给模版,实现打印的效果。它的原理是把数据以一行为单位推入到模版中, Report.DetailGrid.Recordset.Append()为一行的开始, Report.DetailGrid.Recordset.Post()为一行的结束,其中判断如果列名相同,则把改行的这格数据推入。一个循环下来,就推入了所有数据,如图4.5所示为护理记录单的打印预览效果。 (责任编辑:qin) |