private void TvRecord_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            if (e.Node.Nodes[0].Text == "正在加载...")
            {
                DataTable dt = emrMSDB.DB.GetData(string.Format(emrMSDB.Sql_GetInchRecordList,
                                                                (e.Node.Tag as PatientInfo).PatID, (e.Node.Tag as PatientInfo).VisitID));

                tvRecord.BeginUpdate();
                try
                {
                    int      vDesPID = 0;
                    TreeNode vNode   = null;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        if (vDesPID.ToString() != dt.Rows[i]["desPID"].ToString())
                        {
                            vDesPID = int.Parse(dt.Rows[i]["desPID"].ToString());
                            RecordDataSetInfo vRecordDataSetInfo = new RecordDataSetInfo();
                            vRecordDataSetInfo.DesPID = vDesPID;

                            DataSetInfo vDataSetInfo = emrMSDB.DB.GetDataSetInfo(vDesPID);
                            vNode     = e.Node.Nodes.Add(vDataSetInfo.GroupName);
                            vNode.Tag = vRecordDataSetInfo;
                        }

                        RecordInfo vRecordInfo = new RecordInfo();
                        vRecordInfo.ID      = int.Parse(dt.Rows[i]["ID"].ToString());
                        vRecordInfo.DesID   = int.Parse(dt.Rows[i]["desID"].ToString());
                        vRecordInfo.RecName = dt.Rows[i]["name"].ToString();
                        vRecordInfo.LastDT  = DateTime.Parse(dt.Rows[i]["LastDT"].ToString());

                        TreeNode vRecNode = vNode.Nodes.Add(vRecordInfo.RecName + "(" + string.Format("{0:yyyy-MM-dd HH:mm}", vRecordInfo.LastDT) + ")");
                        vRecNode.Tag = vRecordInfo;
                    }

                    if ((e.Node.GetNodeCount(false) > 0) && (e.Node.Nodes[0].Text == "正在加载..."))
                    {
                        e.Node.Nodes.RemoveAt(0);
                    }
                }
                finally
                {
                    tvRecord.EndUpdate();
                }
            }
        }
Ejemplo n.º 2
0
        private void GetPatientRecordListUI()
        {
            tvRecord.Nodes.Clear();
            // 本次住院节点
            TreeNode vPatNode = tvRecord.Nodes.Add("第" + PatientInfo.VisitID.ToString() + "次 " + PatientInfo.BedNo + "床 " + PatientInfo.Name
                                                   + " " + string.Format("{0:yyyy-MM-dd}", PatientInfo.InDeptDateTime));

            DataTable dt = emrMSDB.DB.GetData(string.Format(emrMSDB.Sql_GetInchRecordList, PatientInfo.PatID, PatientInfo.VisitID));

            tvRecord.BeginUpdate();
            try
            {
                int      vDesPID = 0;
                TreeNode vNode   = vPatNode;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (vDesPID.ToString() != dt.Rows[i]["desPID"].ToString())
                    {
                        vDesPID = int.Parse(dt.Rows[i]["desPID"].ToString());
                        RecordDataSetInfo vRecordDataSetInfo = new RecordDataSetInfo();
                        vRecordDataSetInfo.DesPID = vDesPID;

                        DataSetInfo vDataSetInfo = GetDataSetInfo(vDesPID);
                        vNode     = vPatNode.Nodes.Add(vDataSetInfo.GroupName);
                        vNode.Tag = vRecordDataSetInfo;
                    }

                    RecordInfo vRecordInfo = new RecordInfo();
                    vRecordInfo.ID      = int.Parse(dt.Rows[i]["ID"].ToString());
                    vRecordInfo.DesID   = int.Parse(dt.Rows[i]["desID"].ToString());
                    vRecordInfo.RecName = dt.Rows[i]["name"].ToString();
                    vRecordInfo.LastDT  = DateTime.Parse(dt.Rows[i]["LastDT"].ToString());

                    TreeNode vRecNode = vNode.Nodes.Add(vRecordInfo.RecName + "(" + string.Format("{0:yyyy-MM-dd HH:mm}", vRecordInfo.LastDT) + ")");
                    vRecNode.Tag = vRecordInfo;
                }
            }
            finally
            {
                tvRecord.EndUpdate();
            }
        }