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 = "合计信息"; }
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; } }