Exemplo n.º 1
0
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            select_dept_name = dataGridView1.Rows[e.RowIndex].Cells["dept_name"].Value.ToString().Trim();
            select_dept_code = dataGridView1.Rows[e.RowIndex].Cells["dept_code"].Value.ToString().Trim();

            //MessageBox.Show("选择的科室名称为:" + select_dept_name);
            //object obj = dataGridView1.Rows[e.RowIndex].Cells["dept_code"].Value.GetType();
            //MessageBox.Show("科室id号的类型:" + obj);

            //DataTable之间的复制
            //DataRow[] rows = pat_info.pat_info_dt.Select("dept_name='" + select_dept_name.ToString() + "'");

            //foreach (DataRow dr in rows)
            //{
            //    dt_select_pats.ImportRow(dr);
            //}

            //MessageBox.Show("选定科室病人行数为:" + dt_select_pats.Rows.Count);

            //this.dataGridView2.DataSource = dt_select_pats;

            //if (this.dataGridView2.Rows.Count != 0)
            //    MessageBox.Show("表格不为空!");
            string single_string = "┏_┃_┗_┣";
            string query_sql     = @"SELECT vp.patient_id,vp.visit_id,vp.patient_name,vp.date_of_birth,vp.admission_date,vp.depted_time
                               FROM v_his_pats_in_hospital vp WHERE dept_name ='" + select_dept_name + "' or dept_code='" + select_dept_code + "'";

            dt_select_pats = DbConnection.ExecSql(query_sql);

            /**
             *将母子放在一起
             **/
            dt_select_pats = OperateData.Operate1(dt_select_pats, "patient_id");

            DataRow new_row = dt_select_pats.NewRow();

            new_row["visit_id"] = dt_select_pats.Compute("max(visit_id)", "1=1");
            //new_row["patient_id"] = dt_select_pats.Rows.Count;                         //这段代码不知是什么意思,因此注释了
            //new_row["patient_name"] = dt_select_pats.Rows.Count;
            dt_select_pats.Rows.Add(new_row);
            string[] strings_from_single = single_string.Trim().Split('_');

            int row_count = dt_select_pats.Rows.Count;

            DateTime[]     dts      = new DateTime[row_count];
            System.Int32[] pats_age = new System.Int32[row_count];

            for (int i = 0; i < row_count; ++i)
            {
                try
                {
                    object var_tmp = dt_select_pats.Rows[i]["date_of_birth"];
                    dts[i]      = Convert.ToDateTime(var_tmp);
                    pats_age[i] = (System.DateTime.Now.Year - dts[i].Year);
                }
                catch
                {
                    continue;
                }
            }

            //if (!dt_select_pats.Columns.Contains("病人年龄"))
            dt_select_pats.Columns.Add("病人年龄").SetOrdinal(4);
            for (int i = 0; i < row_count; ++i)
            {
                string pat_age = Convert.ToString(pats_age[i]);
                dt_select_pats.Rows[i]["病人年龄"] = pat_age;
            }

            OperateData.AddBracketsOnMummAnKids(dt_select_pats, strings_from_single, 0);

            this.dataGridView2.DataSource = dt_select_pats;

            //if (!dataGridView2.Rows[row_count - 1].HeaderCell.Visible.Equals(false))
            //    dataGridView2.Rows[row_count - 1].HeaderCell.Value = "合计信息";
        }
Exemplo n.º 2
0
		public void BkgOperate(OperateData optData)
		{
			#if DEBUG
			Debug.Assert(this == optData.session);
			#endif // DEBUG
			try
			{
				switch (optData.opt)
				{
				case Operate.Connect:
					if (AllowDoConnect())
					{
						var host = (string)optData.args[0];
						var port = (int)optData.args[1];
						tcp.Client.Connect(host, port);
						phase = Phase.Connected;
					}
					break;
				case Operate.Disconnect:
					if (AllowDoDisconnect())
					{
						tcp.Client.Disconnect(true);
						phase = Phase.Closed;
					}
					break;
				case Operate.Send:
					if (AllowSend())
					{
						#if DEBUG
						Debug.Assert(null != DoBkgSend);
						#endif // DEBUG
						DoBkgSend(tcp.Client, optData.args);
					}
					break;
				}
			}
			catch (System.Exception e)
			{
				exception = e;
			}
		}