/// <summary> /// 模板内容赋值 /// </summary> /// <param name="p_objTemplateSetContent">模板内容</param> /// <param name="p_intIndex">常用值插入点</param> /// <param name="p_intHash">需要从中间插入内容的RichTextBox的hashCode</param> public void m_mthLoadTemplateset(clsTemplatesetContentValue [] p_objTemplateSetContent, int p_intIndex, int p_intHash) { if (p_objTemplateSetContent == null || p_objTemplateSetContent.Length <= 0) { return; } #region 替换数据复用内容 ArrayList arlTemp = new ArrayList(); for (int i = 0; i < p_objTemplateSetContent.Length; i++) { arlTemp.Add(p_objTemplateSetContent[i].m_strContent); } string[] strContentArr = (string[])arlTemp.ToArray(typeof(string)); com.digitalwave.Emr.Utility.DataShare.clsDataShareReplace.s_mthReplaceDataShareValue(MDIParent.s_ObjCurrentPatient, ref strContentArr); #endregion for (int i = 0; i < p_objTemplateSetContent.Length; i++) { for (int j = 0; j < m_intTemplateNumber; j++) { Control txtBox = m_objControlCollection[j]; string strContent = strContentArr[i]; if (txtBox != null && p_objTemplateSetContent[i].m_strControl_ID == m_strControlIDCollection[j]) { switch (txtBox.GetType().FullName) { case "System.Windows.Forms.RichTextBox": case "iCare.CustomForm.ctlRichTextBox": if (p_intIndex == -1) { txtBox.Text = strContent; } else { txtBox.Text = txtBox.Text.Replace("mb.", ""); if (txtBox.GetHashCode() == p_intHash) { txtBox.Text = txtBox.Text.Insert(p_intIndex, strContent); } else { txtBox.Text += strContent; } } break; case "com.digitalwave.Utility.Controls.ctlRichTextBox": com.digitalwave.Utility.Controls.ctlRichTextBox ctlTxt = (com.digitalwave.Utility.Controls.ctlRichTextBox)txtBox; int intMaxLength = ctlTxt.MaxLength; if (strContent != null && strContent.Length > intMaxLength) { strContent = strContent.Substring(0, intMaxLength); } if (p_intIndex == -1) { //如果手术记录单的手术名称有内容,保持其内容不变 if (txtBox.FindForm().Name == "frmOperationRecordDoctor" && txtBox.Name == "m_txtOperationName" && txtBox.Text.Trim() != "") { break; } //int intLength = ctlTxt.Text.Length; ctlTxt.m_mthClearText(); ctlTxt.m_mthInsertText(strContent, 0); } else { ctlTxt.m_mthReplace("mb.", ""); if (txtBox.GetHashCode() == p_intHash) { ctlTxt.m_mthInsertText(strContent, p_intIndex); } else { int intLength = ctlTxt.Text.Length; ctlTxt.m_mthInsertText(strContent, intLength); } } break; case "com.digitalwave.controls.ctlRichTextBox": com.digitalwave.controls.ctlRichTextBox ctlTxt2 = (com.digitalwave.controls.ctlRichTextBox)txtBox; int intMaxLength2 = ctlTxt2.MaxLength; if (strContent != null && strContent.Length > intMaxLength2) { strContent = strContent.Substring(0, intMaxLength2); } if (p_intIndex == -1) { //如果手术记录单的手术名称有内容,保持其内容不变 if (txtBox.FindForm().Name == "frmOperationRecordDoctor" && txtBox.Name == "m_txtOperationName" && txtBox.Text.Trim() != "") { break; } //int intLength1 = ctlTxt2.Text.Length; ctlTxt2.m_mthClearText(); ctlTxt2.m_mthInsertText(strContent, 0); } else { ctlTxt2.m_mthReplace("mb.", ""); if (txtBox.GetHashCode() == p_intHash) { ctlTxt2.m_mthInsertText(strContent, p_intIndex); } else { int intLength1 = ctlTxt2.Text.Length; ctlTxt2.m_mthInsertText(strContent, intLength1); } } break; case "com.digitalwave.Utility.Controls.ctlComboBox": com.digitalwave.Utility.Controls.ctlComboBox ctlBox = txtBox as com.digitalwave.Utility.Controls.ctlComboBox; ctlBox.Text = strContent; break; default: txtBox.Text = strContent; break; } break; } } } // clsDataShareTool.s_mthSetDataShare(MDIParent.s_ObjCurrentPatient,m_objControlCollection); }