public void BindGv() { this.AspNetPager1.RecordCount = ConstructReport.GetLaborAnalysisCount(this.txtTaskCode.Text.Trim(), this.txtTaskName.Text.Trim(), this.prjId); this.dt = ConstructReport.GetLaborAnalysis(this.txtTaskCode.Text.Trim(), this.txtTaskName.Text.Trim(), this.prjId, this.AspNetPager1.PageSize, this.AspNetPager1.CurrentPageIndex); this.gvCost.DataSource = this.dt; this.gvCost.DataBind(); }
protected void btnExcel_Click(object sender, System.EventArgs e) { DataTable dataTable = new DataTable(); dataTable = ConstructReport.GetLaborAnalysis(this.txtTaskCode.Text.Trim(), this.txtTaskName.Text.Trim(), this.prjId, 0, 0); if (dataTable.Rows.Count > 0) { DataRow dataRow = dataTable.NewRow(); dataRow["Num"] = "合计"; dataRow["CurrentLaborBudCost"] = dataTable.Compute("sum(CurrentLaborBudCost)", "1>0"); dataRow["CurrentLaborConsCost"] = dataTable.Compute("sum(CurrentLaborConsCost)", "1>0"); dataRow["CurrentReductionAmount"] = dataTable.Compute("sum(CurrentReductionAmount)", "1>0"); dataRow["LaborBudCost"] = dataTable.Compute("sum(LaborBudCost)", "1>0"); dataRow["LaborConsCost"] = dataTable.Compute("sum(LaborConsCost)", "1>0"); dataRow["ReductionAmount"] = dataTable.Compute("sum(ReductionAmount)", "1>0"); if (System.Convert.ToDecimal(dataRow["CurrentLaborBudCost"]) != 0m) { decimal d = System.Convert.ToDecimal(dataRow["CurrentReductionAmount"]) / System.Convert.ToDecimal(dataRow["CurrentLaborBudCost"]); dataRow["CurrentReductionRate"] = (decimal.Floor(d * 10000m) / 100m).ToString("0.00") + "%"; } else { dataRow["CurrentReductionRate"] = "0.00%"; } if (System.Convert.ToDecimal(dataRow["LaborBudCost"]) != 0m) { decimal d2 = System.Convert.ToDecimal(dataRow["ReductionAmount"]) / System.Convert.ToDecimal(dataRow["LaborBudCost"]); dataRow["ReductionRate"] = (decimal.Floor(d2 * 10000m) / 100m).ToString("0.00") + "%"; } else { dataRow["ReductionRate"] = "0.00%"; } dataTable.Rows.Add(dataRow); } dataTable = this.GetTitleByTable(dataTable); System.Collections.Generic.List <ExcelHeader> list = new System.Collections.Generic.List <ExcelHeader>(); list.Add(ExcelHeader.Create("本月数", 1, 4, 3, 0)); list.Add(ExcelHeader.Create("累计数", 1, 4, 7, 0)); System.Collections.Generic.List <int> list2 = new System.Collections.Generic.List <int>(); foreach (DataColumn dataColumn in dataTable.Columns) { if (dataColumn.Ordinal >= 3) { list2.Add(dataColumn.Ordinal); } if (dataColumn.Ordinal < 3) { list.Add(ExcelHeader.Create(dataColumn.ColumnName, 2, 0, 0, 2)); } else { list.Add(ExcelHeader.Create(dataColumn.ColumnName, 2, 0, 0, 0)); } } ExcelHelper.ExportExcel(dataTable, "人工分析表", "人工分析表", "人工分析表.xls", list, null, 2, base.Request.Browser.Browser); }
protected void btn_Search_Click(object sender, System.EventArgs e) { this.AspNetPager1.CurrentPageIndex = 1; DataTable laborAnalysis = ConstructReport.GetLaborAnalysis(this.txtTaskCode.Text.Trim(), this.txtTaskName.Text.Trim(), this.prjId, 0, 0); string[] array = new string[8]; if (laborAnalysis.Rows.Count != 0) { array[0] = System.Convert.ToDecimal(laborAnalysis.Compute("sum(CurrentLaborBudCost)", "1>0")).ToString("0.000"); array[1] = System.Convert.ToDecimal(laborAnalysis.Compute("sum(CurrentLaborConsCost)", "1>0")).ToString("0.000"); array[2] = System.Convert.ToDecimal(laborAnalysis.Compute("sum(CurrentReductionAmount)", "1>0")).ToString("0.000"); array[4] = System.Convert.ToDecimal(laborAnalysis.Compute("sum(LaborBudCost)", "1>0")).ToString("0.000"); array[5] = System.Convert.ToDecimal(laborAnalysis.Compute("sum(LaborConsCost)", "1>0")).ToString("0.000"); array[6] = System.Convert.ToDecimal(laborAnalysis.Compute("sum(ReductionAmount)", "1>0")).ToString("0.000"); } else { array[0] = "0.000"; array[1] = "0.000"; array[2] = "0.000"; array[4] = "0.000"; array[5] = "0.000"; array[6] = "0.000"; } if (System.Convert.ToDecimal(array[0]) != 0m) { decimal d = System.Convert.ToDecimal(array[2]) / System.Convert.ToDecimal(array[0]); array[3] = (decimal.Floor(d * 10000m) / 100m).ToString("0.00") + "%"; } else { array[3] = "0.00%"; } if (System.Convert.ToDecimal(array[4]) != 0m) { decimal d2 = System.Convert.ToDecimal(array[6]) / System.Convert.ToDecimal(array[4]); array[7] = (decimal.Floor(d2 * 10000m) / 100m).ToString("0.00") + "%"; } else { array[7] = "0.00%"; } this.ViewState["Total"] = array; this.BindGv(); }