public void m_mthFindAccordRecipe(int p_flag) { clsDcl_DoctorWorkstation objDW = new clsDcl_DoctorWorkstation(); DataTable m_dt; long strRet = objDW.m_mthFindAccordRecipe(this.m_objViewer.txtFind.Tag.ToString() + this.m_objViewer.txtFind.Text.Trim(), this.m_objViewer.cmbFind.Tag.ToString(), this.m_objViewer.LoginInfo.m_strEmpID, out m_dt, p_flag); this.m_objViewer.treeView1.BeginUpdate(); this.m_objViewer.treeView1.Nodes.Clear(); if (strRet > 0 && m_dt.Rows.Count > 0) { ArrayList objArrayList = new ArrayList(); for (int i = 0; i < m_dt.Rows.Count; i++) { AccordRecipeTarget oTemp = new AccordRecipeTarget(); oTemp.PYCODE_CHR = m_dt.Rows[i]["PYCODE_CHR"].ToString().Trim(); oTemp.RECIPEID_CHR = m_dt.Rows[i]["RECIPEID_CHR"].ToString().Trim(); oTemp.RECIPENAME_CHR = m_dt.Rows[i]["RECIPENAME_CHR"].ToString().Trim(); oTemp.USERCODE_CHR = m_dt.Rows[i]["USERCODE_CHR"].ToString().Trim(); oTemp.WBCODE_CHR = m_dt.Rows[i]["WBCODE_CHR"].ToString().Trim(); oTemp.Remark = m_dt.Rows[i]["DISEASENAME_VCHR"].ToString().Trim(); objArrayList.Add(oTemp); } objArrayList.Sort(); int intCount = 0; TreeNode FirstNode = null; this.m_objViewer.treeView1.Nodes.Add("模板列表"); TreeNode FindNode = this.m_objViewer.treeView1.Nodes[0]; bool blnIsExists = false; //默认当前要添加的节点不存在 foreach (AccordRecipeTarget objTemplateInfo in objArrayList) { FindNode = this.m_objViewer.treeView1.Nodes[0]; string[] strSplitArry = objTemplateInfo.strArr; for (int j = 0; j < strSplitArry.Length; j++) { blnIsExists = false; for (int i2 = 0; i2 < FindNode.Nodes.Count; i2++) { if (strSplitArry[j] == FindNode.Nodes[i2].Text) { blnIsExists = true; //找到 FindNode = FindNode.Nodes[i2]; break; } } if (blnIsExists) //找到 { if (j == strSplitArry.Length - 1) { TreeNode trAdd = new TreeNode(strSplitArry[j].Trim()); FindNode.Parent.Nodes.Add(trAdd); trAdd.Tag = objTemplateInfo; trAdd.ImageIndex = 2; trAdd.SelectedImageIndex = 2; } continue; } else //找不到增加一个节点 { TreeNode trAdd = new TreeNode(strSplitArry[j].Trim()); FindNode.Nodes.Add(trAdd); if (j == strSplitArry.Length - 1) { trAdd.Tag = objTemplateInfo; trAdd.ImageIndex = 2; trAdd.SelectedImageIndex = 2; if (intCount == 0) { FirstNode = trAdd; intCount++; } } FindNode = trAdd; } } } this.m_objViewer.treeView1.EndUpdate(); this.m_objViewer.treeView1.SelectedNode = FirstNode; } }