private void btnPrint_Click(object sender, EventArgs e) { NuserInout_show[] nuserInouts = new NuserInout_show[list.Count]; for (int i = 0; i < list.Count; i++) { nuserInouts[i] = new NuserInout_show(); nuserInouts[i] = list[i]; } DataSet ds = App.ObjectArrayToDataSet(nuserInouts); //frmPrintByInout_Amount print = new frmPrintByInout_Amount(ds,inp); //print.ShowDialog(); }
/// <summary> /// 汇总后重新刷表格 /// </summary> private void RefSumGrid() { setTableHeader(); string date = null; string time = null; NuserInout_show[] nusers = new NuserInout_show[list.Count]; for (int i = 0; i < list.Count; i++) { nusers[i] = new NuserInout_show(); nusers[i] = list[i]; if (date == null) { date = nusers[i].Date; } else { if (nusers[i].Date != date) { date = nusers[i].Date; time = nusers[i].Time; } else { nusers[i].Date = null; if (nusers[i].Time != time) { time = nusers[i].Time; } else { nusers[i].Time = null; } } } } App.ArrayToGrid(flgView, nusers, cols, 2); CellMerge(); for (int i = 0; i < arrayList.Count; i++) { int index = Convert.ToInt32(arrayList[i].ToString().Split(',')[2]); string SumIn = arrayList[i].ToString().Split(',')[0]; string SumOut = arrayList[i].ToString().Split(',')[1]; C1.Win.C1FlexGrid.CellRange cr; cr = flgView.GetCellRange(index + 2, 0, index + 2, 5); cr.Data = SumIn; cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter; flgView.MergedRanges.Add(cr); cr = flgView.GetCellRange(index + 2, 6, index + 2, 11); cr.Data = SumOut; cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter; flgView.MergedRanges.Add(cr); flgView.Rows[index + 2].StyleNew.ForeColor = Color.Red; flgView.Rows[index + 1].StyleNew.ForeColor = Color.Red; } //for (int i = 0; i < flgView.Rows.Count; i++) //{ // //只要有小结和出入量这几个字的字体都变成蓝色 // if (flgView[i, 2].ToString().Contains("0123456789")|| // flgView[i, 3].ToString().Contains("0123456789")|| // flgView[i, 4].ToString().Contains("0123456789")|| // flgView[i, 5].ToString().Contains("总入量")|| // flgView[i, 5].ToString().Contains("总出量")) // { // flgView.Rows[i].StyleNew.ForeColor = Color.Red; // if (i > 0) // { // flgView.Rows[i-1].StyleNew.ForeColor = Color.Red; // } // } // else // { // flgView.Rows[i].StyleNew.ForeColor = Color.Black; // } //} }
/// <summary> /// 将汇总记录添加到表格 /// </summary> private void ShowSumGrid() { ShowGrid(); DataTable dt = Sumshow(); if (dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { // 显示总入量,总出量数据 NuserInout_show SumInout = new NuserInout_show(); //显示其他各项的时间段内的总数据 NuserInout_show Sum_nuserInout = new NuserInout_show(); Sum_nuserInout.Date = Convert.ToDateTime(row["结束时间"]).ToShortDateString(); Sum_nuserInout.Time = Convert.ToDateTime(row["结束时间"]).ToShortTimeString(); Sum_nuserInout.Item_Mouth = row["口入汇总"].ToString(); Sum_nuserInout.Item_Tube = row["管入汇总"].ToString(); Sum_nuserInout.Imte_Intravenous = row["经静脉入汇总"].ToString(); Sum_nuserInout.Urine = row["尿量汇总"].ToString(); Sum_nuserInout.Defecate = row["大便汇总"].ToString(); Sum_nuserInout.Vomiting = row["呕吐汇总"].ToString(); Sum_nuserInout.Oozing_drainage = row["渗血渗液汇总"].ToString(); Sum_nuserInout.Drainage_value = row["引流汇总"].ToString(); SumInout.Item_Mouth = row["汇总类型"].ToString() + " " + "总入量:" + row["入量汇总"].ToString(); SumInout.Drainage = row["汇总类型"].ToString() + " " + "总出量:" + row["出量汇总"].ToString(); Sum_nuserInout.Operater = row["记录人"].ToString(); //list.Add(Sum_nuserInout); DateTime endTime = Convert.ToDateTime(Sum_nuserInout.Date + " " + Sum_nuserInout.Time); DateTime startTime = Convert.ToDateTime(row["起始时间"]); DateTime TempDate = new DateTime(); string strDate = ""; string strTime = ""; bool flag = false; //将汇总记录插到对象集合中去 for (int i = 0; i < list.Count; i++) { NuserInout_show temp_nuser = list[i]; if (temp_nuser.Date != null) { strDate = temp_nuser.Date; } if (temp_nuser.Time != null) { strTime = temp_nuser.Time; } TempDate = Convert.ToDateTime(strDate + " " + strTime); if (TempDate > endTime && !flag) //表格的当前时间大于计算时间,则插在该条记录前面 { list.Insert(i, Sum_nuserInout); list.Insert(i + 1, SumInout); int j = i + 1; string SumNuser = SumInout.Item_Mouth + "," + SumInout.Drainage + "," + j.ToString(); arrayList.Add(SumNuser); flag = true; } else { if (i == list.Count - 1 && !flag && TempDate < endTime && TempDate >= startTime) { list.Insert(i + 1, Sum_nuserInout); list.Insert(i + 2, SumInout); int j = i + 2; string SumNuser = SumInout.Item_Mouth + "," + SumInout.Drainage + "," + j.ToString(); arrayList.Add(SumNuser); flag = true; break; } } //else if (i == list.Count - 1 && TempDate < endTime) //如果表格里面所有的时间都小于计算时间,则把他插到最后面 //{ // list.Insert(i, Sum_nuserInout); // list.Insert(i + 1, SumInout); // arrayList.Add(i + 1); // flag = true; // break; //} } } } RefSumGrid(); }
/// <summary> /// 显示表格数据 /// </summary> public void ShowGrid() { list.Clear(); //setTableHeader(); //将汇总记录添加到表格 //ShowSumGrid(); //表格显示的视图 string sql = "select * from inout_record_view"; DataSet ds = App.GetDataSet(sql); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { NuserInout_show nurserInout = new NuserInout_show(); nurserInout.Date = row["日期"].ToString(); nurserInout.Time = row["时间"].ToString(); nurserInout.Item_Mouth = row["口入"].ToString(); nurserInout.Item_Tube = row["管入"].ToString(); nurserInout.Imte_Intravenous = row["经静脉入"].ToString(); if (row["实入量"].ToString() != "") { nurserInout.The_Real = (Convert.ToInt32(row["实入量"])).ToString(); } nurserInout.Urine = row["尿"].ToString(); nurserInout.Defecate = row["大便"].ToString(); nurserInout.Vomiting = row["呕吐"].ToString(); nurserInout.Drainage = row["引流"].ToString(); if (row["引流出量"].ToString() != "") { nurserInout.Drainage_value = (Convert.ToInt32(row["引流出量"])).ToString(); } nurserInout.Oozing_drainage = row["渗血渗液"].ToString(); nurserInout.Operater = row["记录人"].ToString(); list.Add(nurserInout); } string date = null; string time = null; NuserInout_show [] nusers = new NuserInout_show[list.Count]; for (int i = 0; i < list.Count; i++) { nusers[i] = new NuserInout_show(); nusers[i] = list[i]; if (date == null) { date = nusers[i].Date; } else { if (nusers[i].Date != date) { date = nusers[i].Date; time = nusers[i].Time; } else { nusers[i].Date = null; if (nusers[i].Time != time) { time = nusers[i].Time; } else { nusers[i].Time = null; } } } } //App.ArrayToGrid(flgView, nusers, cols, 2); //CellMerge(); } } }