public static clsFieldInfo getFieldInfo(string sField) { var f = new clsFieldInfo(); if (sField.Contains(":")) { string[] sVals = sField.Split(':'); f.FieldName = sVals[0].Trim(); f.FieldTitle = sVals.Length > 0 ? sVals[1].Trim() : f.FieldName; } else { f.FieldName = sField; f.FieldTitle = sField; } return(f); }
/// <summary> /// 获取表单的字段信息 /// </summary> /// <param name="p_objFormInfo">表单信息</param> public void m_objGetFieldInfoArr(ref clsFormInfo p_objFormInfo) { DataTable dtResult; clsRecordSearchService m_objService = (clsRecordSearchService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsRecordSearchService)); long lngRes = 0; try { lngRes = m_objService.m_lngGetFieldInfo(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_objFormInfo.m_strFormName, out dtResult); } finally { //m_objService.Dispose(); } if (lngRes <= 0 || dtResult.Rows.Count == 0) { return; } clsFieldInfo[] objFieldInfoArr = new clsFieldInfo[dtResult.Rows.Count]; DataRow objRow = null; for (int i = 0; i < dtResult.Rows.Count; i++) { objRow = dtResult.Rows[i]; clsFieldInfo objFieldInfo = new clsFieldInfo(); objFieldInfo.m_strFieldName = objRow["FIELDNAME"].ToString(); objFieldInfo.m_strConditionFieldType = objRow["CONDITIONFIELDTYPE"].ToString(); objFieldInfo.m_strConditionFieldName = objRow["CONDITIONFIELDNAME"].ToString(); objFieldInfoArr[i] = objFieldInfo; } p_objFormInfo.m_objFieldInfoArr = objFieldInfoArr; }
/// <summary> /// 获取表单的字段信息(新专科病历用) /// </summary> /// <param name="p_objFormInfo">表单信息</param> public void m_mthIMR_GetFieldInfo(ref clsFormInfo p_objFormInfo) { if (p_objFormInfo == null || p_objFormInfo.m_strFormName == null) { return; } DataTable dtResult; clsRecordSearchService m_objService = (clsRecordSearchService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsRecordSearchService)); long lngRes = 0; try { lngRes = m_objService.m_lngIMR_GetFieldInfo(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_objFormInfo.m_strFormID, out dtResult); } finally { //m_objService.Dispose(); } if (lngRes <= 0 || dtResult.Rows.Count == 0) { return; } clsFieldInfo [] objFieldInfoArr = new clsFieldInfo[dtResult.Rows.Count + 5]; #region 固定内容 objFieldInfoArr[0] = new clsFieldInfo(); objFieldInfoArr[0].m_strFieldName = "住院号"; objFieldInfoArr[0].m_strConditionFieldType = "text"; objFieldInfoArr[0].m_strConditionFieldName = "b.InPatientID"; objFieldInfoArr[1] = new clsFieldInfo(); objFieldInfoArr[1].m_strFieldName = "患者姓名"; objFieldInfoArr[1].m_strConditionFieldType = "text"; objFieldInfoArr[1].m_strConditionFieldName = "PBI.FirstName"; objFieldInfoArr[2] = new clsFieldInfo(); objFieldInfoArr[2].m_strFieldName = "性别"; objFieldInfoArr[2].m_strConditionFieldType = "text"; objFieldInfoArr[2].m_strConditionFieldName = "PBI.Sex"; objFieldInfoArr[3] = new clsFieldInfo(); objFieldInfoArr[3].m_strFieldName = "年龄"; objFieldInfoArr[3].m_strConditionFieldType = "number"; objFieldInfoArr[3].m_strConditionFieldName = "datediff(year,PBI.Birth,getdate())"; objFieldInfoArr[4] = new clsFieldInfo(); objFieldInfoArr[4].m_strFieldName = "入院日期"; objFieldInfoArr[4].m_strConditionFieldType = "date"; objFieldInfoArr[4].m_strConditionFieldName = "b.InPatientDate"; #endregion for (int i = 0; i < dtResult.Rows.Count; i++) { objFieldInfoArr[i + 5] = new clsFieldInfo(); objFieldInfoArr[i + 5].m_strFieldName = dtResult.Rows[i]["ITEMNAME"].ToString(); switch (dtResult.Rows[i]["ITEMTYPE"].ToString().Trim()) { case "RichTextBox": case "ctlBorderTextBox": case "ctlComboBox": case "ctlRichTextBox": default: objFieldInfoArr[i + 5].m_strConditionFieldType = "text"; break; case "ctlTimePicker": objFieldInfoArr[i + 5].m_strConditionFieldType = "date"; break; case "RadioButton": case "CheckBox": objFieldInfoArr[i + 5].m_strConditionFieldType = "truefalse"; break; } objFieldInfoArr[i + 5].m_strConditionFieldName = @"b.ItemID = '" + dtResult.Rows[i]["ITEMID"].ToString() + "' and b.ItemContent"; } p_objFormInfo.m_objFieldInfoArr = objFieldInfoArr; }