private void btnSelect_Click(object sender, EventArgs e) { bool flg = false; string BeginDate = this.dteRq1.Value.ToString("yyyy-MM-dd"); string EndDate = this.dteRq2.Value.ToString("yyyy-MM-dd"); if (Convert.ToDateTime(BeginDate + " 00:00:01") > Convert.ToDateTime(EndDate + " 00:00:01")) { MessageBox.Show("开始日期不能大于结束日期。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } try { dwRep.Reset(); clsHISReportZy_Supported_Svc svc = (clsHISReportZy_Supported_Svc)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHISReportZy_Supported_Svc)); DataTable dt = svc.GetCriticalExecute(BeginDate, EndDate); List <EntityCriticalExecute> data = new List <EntityCriticalExecute>(); if (dt != null && dt.Rows.Count > 0) { dwRep.SetRedrawOff(); foreach (DataRow dr in dt.Rows) { string checkitemname = dr["checkitemname"].ToString(); string appdeptname = dr["appdeptname"].ToString(); string recorddeptname = dr["recorddeptid"].ToString(); if (dwRep.RowCount > 0) { for (int i = 0; i < data.Count; i++) { if (appdeptname == data[i].appdeptName && checkitemname == data[i].checkitemName) { flg = true; break; } } } if (!flg) { EntityCriticalExecute vo = new EntityCriticalExecute(); vo.checkitemName = checkitemname; vo.appdeptName = appdeptname; vo.recordDeptname = recorddeptname; vo.reportCount = dt.Select("checkitemname = '" + checkitemname + "' and appdeptname = '" + appdeptname + "'").Length; vo.alreadyReport = dt.Select("checkitemname = '" + checkitemname + "' and appdeptname = '" + appdeptname + "' and (status = 1 or status = 0)").Length; if (vo.reportCount > 0 && vo.alreadyReport > 0) { vo.per = Math.Round(((double)(vo.alreadyReport) / (double)(vo.reportCount)) * 100, 1).ToString() + "%"; } else { vo.per = " "; } data.Add(vo); } } if (data != null && data.Count > 0) { int row = 0; dwRep.SetRedrawOff(); for (int i = 0; i < data.Count; i++) { row = dwRep.InsertRow(0); dwRep.SetItemString(row, "checkitemname", data[i].checkitemName); dwRep.SetItemString(row, "recorddeptname", data[i].recordDeptname); dwRep.SetItemString(row, "reportconut", data[i].reportCount.ToString()); dwRep.SetItemString(row, "alreadyreport", data[i].alreadyReport.ToString()); dwRep.SetItemString(row, "per", data[i].per); dwRep.SetItemString(row, "appdeptname", data[i].appdeptName); } dwRep.SetRedrawOn(); } else { dwRep.InsertRow(0); } } dwRep.Modify("t_date.text = '" + BeginDate + " ~ " + EndDate + "'"); } finally { clsPublic.CloseAvi(); } this.dwRep.Refresh(); }