using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.CQMS.Check { public partial class JointCheckStatistics : PageBase { /// /// 项目id /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Funs.FineUIPleaseSelect(drpState); Funs.FineUIPleaseSelect(drpQuestionType); QualityQuestionTypeService.InitQualityQuestionTypeDownList(drpQuestionType, true); UnitService.InitUnitDropDownList(drpSponsorUnit, this.CurrUser.LoginProjectId, true);//施工单位 UnitWorkService.InitUnitWorkDownList(drpUnitWork, this.CurrUser.LoginProjectId, true);//单位工程 CNProfessionalService.InitCNProfessionalDownList(drpCNProfessional, true);//专业 this.drpCheckType.DataTextField = "Text"; this.drpCheckType.DataValueField = "Value"; this.drpCheckType.DataSource = BLL.JointCheckService.GetCheckTypeList2(); this.drpCheckType.DataBind(); BindGrid(); } } public void BindGrid() { this.ProjectId = this.CurrUser.LoginProjectId; string strSql = @"select * from View_Check_JointCheckDetail where 1=1"; List listStr = new List(); strSql += " AND ProjectId = @ProjectId"; listStr.Add(new SqlParameter("@ProjectId", this.ProjectId)); if (drpSponsorUnit.SelectedValue != BLL.Const._Null && drpSponsorUnit.SelectedValue != null) { strSql += " AND UnitId = @UnitId"; listStr.Add(new SqlParameter("@UnitId", this.drpSponsorUnit.SelectedValue)); } if (!string.IsNullOrEmpty(txtStartTime.Text.Trim())) { strSql += " AND CheckDate >= @CheckDate"; listStr.Add(new SqlParameter("@CheckDate", txtStartTime.Text.Trim() + " 00:00:00")); } if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) { strSql += " AND CheckDate <= @CheckDateE"; listStr.Add(new SqlParameter("@CheckDateE", txtEndTime.Text.Trim() + " 23:59:59")); } if (drpUnitWork.SelectedValue != BLL.Const._Null && drpUnitWork.SelectedValue != null) { strSql += " AND UnitWorkId = @UnitWorkId"; listStr.Add(new SqlParameter("@UnitWorkId", this.drpUnitWork.SelectedValue)); } if (drpCNProfessional.SelectedValue != BLL.Const._Null && drpCNProfessional.SelectedValue != null) { strSql += " AND CNProfessionalCode = @CNProfessionalCode"; listStr.Add(new SqlParameter("@CNProfessionalCode", this.drpCNProfessional.SelectedValue)); } if (drpCheckType.SelectedValue != BLL.Const._Null && drpCheckType.SelectedValue != null && drpCheckType.SelectedValue != "") { strSql += " AND CheckType = @CheckType"; listStr.Add(new SqlParameter("@CheckType", this.drpCheckType.SelectedValue)); } if (drpState.SelectedValue != Const._Null) { if (drpState.SelectedValue == "1") //已闭合 { strSql += " AND OK='1' "; } else //未闭合 { strSql += " AND OK='0'"; } } if (drpQuestionType.SelectedValue != Const._Null) { strSql += " AND QuestionType=@QuestionType"; listStr.Add(new SqlParameter("@QuestionType", drpQuestionType.SelectedValue)); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); // 创建一个列表来存储CheckStatisc对象 var checkStatiscList = new List(); if (this.rbType.SelectedValue == "0") { // 使用LINQ对DataTable进行分组统计----年份 var query = from row in tb.AsEnumerable() let checkDate = row.Field("CheckDate") let state = row.Field("OK") group row by new { checkDate.Year, state } into g select new { Year = g.Key.Year, State = g.Key.state, Count = g.Count() }; // 计算每个年份的总记录数 var yearlyTotals = query.GroupBy(q => q.Year).ToDictionary(g => g.Key, g => g.Sum(q => q.Count)); // 创建一个包含年度总数和不同State计数的结果集 var result = query.GroupBy(q => q.Year).Select(g => new { Year = g.Key, YearlyTotal = yearlyTotals[g.Key], CompleteNumber = g.Where(q => q.State == 1).Sum(q => q.Count), NCompleteNumber = g.Where(q => q.State == 0).Sum(q => q.Count) }).ToList(); // 遍历结果集并创建CheckStatisc对象 foreach (var item in result) { var checkStatisc = new CheckStatisc { TypeName = item.Year.ToString(), AllNumber = item.YearlyTotal, CompleteNumber = item.CompleteNumber, NCompleteNumber = item.NCompleteNumber, Probability = ((double)item.CompleteNumber / item.YearlyTotal * 100).ToString("F2") + "%" }; checkStatiscList.Add(checkStatisc); } } else if (this.rbType.SelectedValue == "1") { // 使用LINQ对DataTable进行分组统计----年月 var queryByMonth = from row in tb.AsEnumerable() let checkDate = row.Field("CheckDate") let state = row.Field("OK") group row by new { checkDate.Year, checkDate.Month, state } into g select new { Year = g.Key.Year, Month = g.Key.Month, State = g.Key.state, Count = g.Count() }; // 计算每个月的总记录数 var monthlyTotals = queryByMonth.GroupBy(q => new { q.Year, q.Month }).ToDictionary( g => new { g.Key.Year, g.Key.Month }, g => g.Sum(q => q.Count)); // 创建一个包含月度总数和不同State计数的结果集 var resultByMonth = queryByMonth.GroupBy(q => new { q.Year, q.Month }).Select(g => new { Year = g.Key.Year, Month = g.Key.Month, MonthlyTotal = monthlyTotals[g.Key], CompleteNumber = g.Where(q => q.State == 1).Sum(q => q.Count), NCompleteNumber = g.Where(q => q.State == 0).Sum(q => q.Count) }).ToList(); // 遍历结果集并创建CheckStatisc对象 foreach (var item in resultByMonth) { var checkStatisc = new CheckStatisc { TypeName = $"{item.Year}年{item.Month:D2}月", AllNumber = item.MonthlyTotal, CompleteNumber = item.CompleteNumber, NCompleteNumber = item.NCompleteNumber, Probability = ((double)item.CompleteNumber / item.MonthlyTotal * 100).ToString("F2") + "%" }; checkStatiscList.Add(checkStatisc); } } else if (this.rbType.SelectedValue == "2") { // 使用LINQ对DataTable进行分组统计----专业名称 var queryByProfessionalName = from row in tb.AsEnumerable() let professionalName = row.Field("ProfessionalName") let state = row.Field("OK") group row by professionalName into g select new { ProfessionalName = g.Key, TotalCount = g.Count(), CompleteCount = g.Count(q => q.Field("OK") == 1), IncompleteCount = g.Count(q => q.Field("OK") != 0) }; // 遍历结果集并创建CheckStatisc对象 foreach (var item in queryByProfessionalName) { var checkStatisc = new CheckStatisc { TypeName = item.ProfessionalName, AllNumber = item.TotalCount, CompleteNumber = item.CompleteCount, NCompleteNumber = item.IncompleteCount, Probability = ((double)item.CompleteCount / item.TotalCount * 100).ToString("F2") + "%" }; checkStatiscList.Add(checkStatisc); } } checkStatiscList = checkStatiscList.OrderBy(cs => cs.TypeName).ToList(); Grid1.RecordCount = checkStatiscList.Count; Grid1.DataSource = checkStatiscList; // Grid1.RecordCount = tb.Rows.Count; // tb = GetFilteredTable(Grid1.FilteredData, tb); // var table = this.GetPagedDataTable(Grid1, tb); // // Grid1.DataSource = table; Grid1.DataBind(); } /// /// 把状态转换代号为文字形式 /// /// /// protected string ConvertState(object JointCheckDetailId) { Model.Check_JointCheckDetail jointCheckDetail = BLL.JointCheckDetailService.GetJointCheckDetailByJointCheckDetailId(JointCheckDetailId.ToString()); // Model.View_Check_JointCheckDetail jointCheckDetail = Funs.DB.View_Check_JointCheckDetail.Where(x => x.JointCheckDetailId == JointCheckDetailId).FirstOrDefault(); if (jointCheckDetail != null) { if (!string.IsNullOrEmpty(jointCheckDetail.State)) { string state = jointCheckDetail.State; if (state == BLL.Const.JointCheck_ReCompile) { return "重新整理"; } else if (state == BLL.Const.JointCheck_Compile) { return "编制"; } else if (state == BLL.Const.JointCheck_Audit1) { return "分包专业工程师回复"; } else if (state == BLL.Const.JointCheck_Audit2) { return "分包负责人确认"; } else if (state == BLL.Const.JointCheck_Audit3) { return "总包专业工程师确认"; } else if (state == BLL.Const.JointCheck_Audit4) { return "总包质量经理确认"; } else if (state == BLL.Const.JointCheck_Complete) { return "审批完成"; } else if (state == BLL.Const.JointCheck_Audit1R) { return "分包专工重新回复"; } else { return ""; } } else { return ""; } //string state = BLL.JointCheckService.GetJointCheck(jointCheckDetail.JointCheckId).State; } else { string state = BLL.CheckControlService.GetCheckControl(JointCheckDetailId.ToString()).State; if (state == BLL.Const.CheckControl_ReCompile) { return "重新整理"; } else if (state == BLL.Const.CheckControl_Compile) { return "编制"; } else if (state == BLL.Const.CheckControl_Audit1) { return "总包负责人审批"; } else if (state == BLL.Const.CheckControl_Audit2) { return "分包专业工程师回复"; } else if (state == BLL.Const.CheckControl_Audit3) { return "分包负责人审批"; } else if (state == BLL.Const.CheckControl_Audit4) { return "总包专业工程师确认"; } else if (state == BLL.Const.CheckControl_Audit5) { return "总包负责人审批"; } else if (state == BLL.Const.CheckControl_Complete) { return "审批完成"; } else if (state == BLL.Const.CheckControl_ReCompile2) { return "分包专业工程师重新回复"; } else { return ""; } } } protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string itemId = Grid1.DataKeys[e.RowIndex][0].ToString(); Model.Check_JointCheck jointCheck1 = JointCheckService.GetJointCheck(itemId); if (e.CommandName == "ReAttachUrl") { if (jointCheck1 != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/JointCheck&type=-1", itemId + "r", "查看 - "))); } else { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckControl&type=-1", itemId + "r", "查看 - "))); } } if (e.CommandName == "attchUrl") { if (jointCheck1 != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/JointCheck&type=-1", itemId, "查看 - "))); } else { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckControl&type=-1", itemId, "查看 - "))); } } } protected void btnSearch_Click(object sender, EventArgs e) { BindGrid(); } protected void btnRset_Click(object sender, EventArgs e) { drpSponsorUnit.SelectedIndex = 0; drpCheckType.SelectedIndex = 0; drpCNProfessional.SelectedIndex = 0; drpUnitWork.SelectedIndex = 0; drpState.SelectedIndex = 0; drpQuestionType.SelectedIndex = 0; txtStartTime.Text = ""; txtEndTime.Text = ""; BindGrid(); } protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } #region 导出按钮 /// 导出按钮 /// /// /// protected void btnOut_Click(object sender, EventArgs e) { string rootPath = Server.MapPath("~/"); string initTemplatePath = Const.JointCheckStatisticsTemlUrl; string uploadfilepath = string.Empty; string newUrl = string.Empty; uploadfilepath = rootPath + initTemplatePath; var lists = from x in Funs.DB.View_Check_JointCheckDetail where x.ProjectId == this.CurrUser.LoginProjectId select x; if (drpSponsorUnit.SelectedValue != BLL.Const._Null && drpSponsorUnit.SelectedValue != null) { lists = lists.Where(x => x.UnitId == this.drpSponsorUnit.SelectedValue); } if (!string.IsNullOrEmpty(txtStartTime.Text.Trim())) { lists = lists.Where(x => x.CheckDate >= Funs.GetNewDateTime(txtStartTime.Text.Trim() + " 00:00:00")); } if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) { lists = lists.Where(x => x.CheckDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim() + " 23:59:59")); } if (drpUnitWork.SelectedValue != BLL.Const._Null && drpUnitWork.SelectedValue != null) { lists = lists.Where(x => x.UnitWorkId == this.drpUnitWork.SelectedValue); } if (drpCNProfessional.SelectedValue != BLL.Const._Null && drpCNProfessional.SelectedValue != null) { lists = lists.Where(x => x.CNProfessionalCode == this.drpCNProfessional.SelectedValue); } if (drpCheckType.SelectedValue != BLL.Const._Null && drpCheckType.SelectedValue != null && drpCheckType.SelectedValue != "") { lists = lists.Where(x => x.CheckType == this.drpCheckType.SelectedValue); } if (drpState.SelectedValue != Const._Null) { if (drpState.SelectedValue == "1") //已闭合 { lists = lists.Where(x => x.OK == '1'); } else //未闭合 { lists = lists.Where(x => x.OK == '0'); } } if (drpQuestionType.SelectedValue != Const._Null) { lists = lists.Where(x => x.QuestionType == this.drpQuestionType.SelectedValue); } if (lists != null) { string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); newUrl = uploadfilepath.Replace("问题统计模板", "问题统计(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); if (File.Exists(newUrl)) { File.Delete(newUrl); } File.Copy(uploadfilepath, newUrl); // 第一步:读取文件流 NPOI.SS.UserModel.IWorkbook workbook; using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) { //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); } // 创建单元格样式 NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; cellStyle.WrapText = true;//自动换行 var font = workbook.CreateFont(); font.FontHeightInPoints = 11; cellStyle.SetFont(font); // 第二步:创建新数据行 NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); NPOI.SS.UserModel.IRow row = sheet.GetRow(0); NPOI.SS.UserModel.ICell cell; int i = 2; // 将 lists 转换为 DataTable DataTable tb = LINQToDataTable(lists); // 创建一个列表来存储CheckStatisc对象 var checkStatiscList = new List(); if (this.rbType.SelectedValue == "0") { // 使用LINQ对DataTable进行分组统计----年份 var query = from row1 in tb.AsEnumerable() let checkDate = row1.Field("CheckDate") let state = row1.Field("OK") group row1 by new { checkDate.Year, state } into g select new { Year = g.Key.Year, State = g.Key.state, Count = g.Count() }; // 计算每个年份的总记录数 var yearlyTotals = query.GroupBy(q => q.Year).ToDictionary(g => g.Key, g => g.Sum(q => q.Count)); // 创建一个包含年度总数和不同State计数的结果集 var result = query.GroupBy(q => q.Year).Select(g => new { Year = g.Key, YearlyTotal = yearlyTotals[g.Key], CompleteNumber = g.Where(q => q.State == 1).Sum(q => q.Count), NCompleteNumber = g.Where(q => q.State == 0).Sum(q => q.Count) }).ToList(); // 遍历结果集并创建CheckStatisc对象 foreach (var item in result) { var checkStatisc = new CheckStatisc { TypeName = item.Year.ToString(), AllNumber = item.YearlyTotal, CompleteNumber = item.CompleteNumber, NCompleteNumber = item.NCompleteNumber, Probability = ((double)item.CompleteNumber / item.YearlyTotal * 100).ToString("F2") + "%" }; checkStatiscList.Add(checkStatisc); } } else if (this.rbType.SelectedValue == "1") { // 使用LINQ对DataTable进行分组统计----年月 var queryByMonth = from row1 in tb.AsEnumerable() let checkDate = row1.Field("CheckDate") let state = row1.Field("OK") group row1 by new { checkDate.Year, checkDate.Month, state } into g select new { Year = g.Key.Year, Month = g.Key.Month, State = g.Key.state, Count = g.Count() }; // 计算每个月的总记录数 var monthlyTotals = queryByMonth.GroupBy(q => new { q.Year, q.Month }).ToDictionary( g => new { g.Key.Year, g.Key.Month }, g => g.Sum(q => q.Count)); // 创建一个包含月度总数和不同State计数的结果集 var resultByMonth = queryByMonth.GroupBy(q => new { q.Year, q.Month }).Select(g => new { Year = g.Key.Year, Month = g.Key.Month, MonthlyTotal = monthlyTotals[g.Key], CompleteNumber = g.Where(q => q.State == 1).Sum(q => q.Count), NCompleteNumber = g.Where(q => q.State == 0).Sum(q => q.Count) }).ToList(); // 遍历结果集并创建CheckStatisc对象 foreach (var item in resultByMonth) { var checkStatisc = new CheckStatisc { TypeName = $"{item.Year}年{item.Month:D2}月", AllNumber = item.MonthlyTotal, CompleteNumber = item.CompleteNumber, NCompleteNumber = item.NCompleteNumber, Probability = ((double)item.CompleteNumber / item.MonthlyTotal * 100).ToString("F2") + "%" }; checkStatiscList.Add(checkStatisc); } } else if (this.rbType.SelectedValue == "2") { // 使用LINQ对DataTable进行分组统计----专业名称 var queryByProfessionalName = from row1 in tb.AsEnumerable() let professionalName = row1.Field("ProfessionalName") let state = row1.Field("OK") group row1 by professionalName into g select new { ProfessionalName = g.Key, TotalCount = g.Count(), CompleteCount = g.Count(q => q.Field("OK") == 1), IncompleteCount = g.Count(q => q.Field("OK") != 0) }; // 遍历结果集并创建CheckStatisc对象 foreach (var item in queryByProfessionalName) { var checkStatisc = new CheckStatisc { TypeName = item.ProfessionalName, AllNumber = item.TotalCount, CompleteNumber = item.CompleteCount, NCompleteNumber = item.IncompleteCount, Probability = ((double)item.CompleteCount / item.TotalCount * 100).ToString("F2") + "%" }; checkStatiscList.Add(checkStatisc); } } checkStatiscList = checkStatiscList.OrderBy(cs => cs.TypeName).ToList(); foreach (var item in checkStatiscList) { // 第二步:创建新数据行 row = sheet.CreateRow(i); // 添加数据 cell = row.CreateCell(0); cell.CellStyle = cellStyle; cell.SetCellValue(item.TypeName);//类型名称 cell = row.CreateCell(1); cell.CellStyle = cellStyle; cell.SetCellValue(item.AllNumber);//总数 cell = row.CreateCell(2); cell.CellStyle = cellStyle; cell.SetCellValue(item.CompleteNumber);//合格数 cell = row.CreateCell(3); cell.CellStyle = cellStyle; cell.SetCellValue(item.NCompleteNumber);//不合格数 cell = row.CreateCell(4); cell.CellStyle = cellStyle; cell.SetCellValue(item.Probability);//合格率 i++; } // foreach (var item in lists) // { // // 第二步:创建新数据行 // row = sheet.CreateRow(i); // // 添加数据 // cell = row.CreateCell(0); // cell.CellStyle = cellStyle; // cell.SetCellValue(BLL.UnitService.GetUnitNameByUnitId(item.UnitId));//施工单位 // // cell = row.CreateCell(1); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.CheckDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.CheckDate) : ""); // // cell = row.CreateCell(2); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.CheckTypeStr); // // cell = row.CreateCell(3); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.UnitWorkName); // // cell = row.CreateCell(4); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.ProfessionalName); // // cell = row.CreateCell(5); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.QuestionTypeStr); // // cell = row.CreateCell(6); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.CheckSite); // // cell = row.CreateCell(7); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.QuestionDef); // // cell = row.CreateCell(8); // cell.CellStyle = cellStyle; // cell.SetCellValue(item.HandleWay); // // cell = row.CreateCell(9); // cell.CellStyle = cellStyle; // string s = string.Empty; // if (!string.IsNullOrEmpty(item.JointCheckDetailId)) // { // s = ConvertState(item.JointCheckDetailId); // } // cell.SetCellValue(s); // // i++; // } // 第三步:写入文件流 using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) { workbook.Write(stream); workbook.Close(); } string fileName = Path.GetFileName(newUrl); FileInfo info = new FileInfo(newUrl); long fileSize = info.Length; Response.Clear(); Response.ContentType = "application/x-zip-compressed"; Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); Response.AddHeader("Content-Length", fileSize.ToString()); Response.TransmitFile(newUrl, 0, fileSize); Response.Flush(); Response.Close(); File.Delete(newUrl); } else { Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); } } #pragma warning disable CS0108 // “PersonList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 // /// // /// 导出方法 // /// // /// // /// // private string GetGridTableHtml(Grid grid) //#pragma warning restore CS0108 // “PersonList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 // { // StringBuilder sb = new StringBuilder(); // sb.Append(""); // sb.Append(""); // sb.Append(""); // foreach (GridColumn column in grid.Columns) // { // if (column.ColumnID != "AttchUrl" && column.ColumnID != "ReAttachUrl") // { // sb.AppendFormat("", column.HeaderText); // } // } // sb.Append(""); // foreach (GridRow row in grid.Rows) // { // sb.Append(""); // foreach (GridColumn column in grid.Columns) // { // if (column.ColumnID != "AttchUrl" && column.ColumnID != "ReAttachUrl") // { // string html = row.Values[column.ColumnIndex].ToString(); // if (column.ColumnID == "tfPageIndex") // { // html = (row.FindControl("lblPageIndex") as AspNet.Label).Text; // } // if (column.ColumnID == "lbState") // { // html = (row.FindControl("lbState") as AspNet.Label).Text; // } // //sb.AppendFormat("", html); // sb.AppendFormat("", html); // } // } // sb.Append(""); // } // sb.Append("
{0}
{0}{0}
"); // return sb.ToString(); // } #endregion #region 查询 /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } #endregion public class CheckStatisc { public string TypeName { get; set; }//年份 public int AllNumber { get; set; }//总数 public int CompleteNumber { get; set; }//已完成数 public int NCompleteNumber { get; set; }//未完成数 public string Probability { get; set; }//百分比 } } }