基于.NET的三层构架的护理文书系统的设计与实现(13)
时间:2016-12-03 10:54 来源:毕业论文 作者:毕业论文 点击:次
{ dgView.CurrentCell.ReadOnly = true; YCNurseEditXtraForm_SY form = new YCNurseEditXtraForm_SY(); string currentCellvalue = dgView[columnindex, Rowindex].Value.ToString(); form.SetInitValues(currentCellvalue, m_strNoteColumnName, Rowindex); if (form.ShowDialog() == DialogResult.OK) { } } 图4.2 子窗体YCNurseEditXtraForm_SY 如图4.2所示,调用该窗体后,选择需要的选项,然后点击确定后把值传回主窗体: private void simpleButton1_Click(object sender, EventArgs e) { strValues = lb_values.Text; GridTableReportSh.pCurrentWin.SetdgViewContents (lb_values.Text, m_RowIndex); GridTableReportSh.pCurrentWin.Activate(); this.DialogResult = DialogResult.OK; } 图4.3 复用模块流程图 4.3 护理评估单的实现 护理评估单跟护理记录单其实十分类似,都由表头,增删改查按钮,以及中间的报表内容组成。不同点在于,护理评估单的中间更加复杂,不单单有明细网格,还有TextBox和Label等控件,那么就产生了两个难点。一个是如何在界面上展现出更为复杂的明细网格,普通的明细网格只有横向的表头,但是这里还有纵向的表头,此时不管是Datagridview或是Gridcontrol,都已经无法满足要求。所以就用到了另一个第三方控件Farpoint,他展现出类似EXCEL的效果。只需在SpreadDesigner中画出所要的界面样式即可[8]。 图4.4 SpreadDesigner 第二个难点,则是保存数据[9]。这里以保存图4.2中的部分为例,发现其实这个控件中的每一个都有相应的坐标,那么在向VITAL_SIGNS_REC保存数据的时候,VITAL_SIGNS能否用该单元格的坐标为名字,并加以一定处理,使其不会重复,然后在VITAL_SIGNS_VALUES中存入单元格中的数据。 4.4 护理文书打印的实现 护理文书的打印主要分为两大块,一个是图形类的打印,是通过画布上绘制线条和图案来实现;另一个则是明细网格的打印,通过第三方软件Grid++Report来制作打印模版。 4.4.1 体温单的打印 体温单的打印全部写在Pintdraw类中。体温单打印中,绘制线条,是为了画出体温单的表格,如图2.1,通过先定义一些粗细不同、颜色不同的笔刷,计算好位置后,把线条全部画好[10]。 接着是绘制图案,以绘制呼吸为例,在体温单frm_temp里取到呼吸的值后,调用print_draw中的printRespiration()开始绘制[11](一般来说呼吸的值在20上下浮动),说的简单点,其实就是把一个个图案连接起来,绘制成曲线。首先定义一个flag=0,判断若为0,则绘制一个图案,然后把flag赋为1,然后绘制第二个图案,并连接两个图案: (责任编辑:qin) |