public void MakeReport(Object Sender, EventArgs E) { DatasForReport balGen = new DatasForReport(reportTitle); ds = balGen.GetDatas(false, GetParams()); //3 tablas: // 1. mcue_codipuc, mcue_nombre, tnat_codigo, timp_codigo FROM mcuenta // 2. mcuenta.mcue_codipuc as CODIGO, mcuenta.mcue_nombre as NOMBRE, parcial=msal_valodebi-msal_valocred o msal_valocred-msal_valodebi WHERE mcuenta.mcue_codipuc=msaldocuenta.mcue_codipuc AND msaldocuenta.pano_ano=@ AND msaldocuenta.pmes_mes<=@ AND mcuenta.timp_codigo in ('N','P','@') AND mcuenta.tcla_codigo='R' // 3. mauxiliarcuenta.mcue_codipuc as COD, mauxiliarcuenta.mnit_nit as NIT, mnit.mnit_nombres+mnit.mnit_apellidos as NOMBRE, DETALLE = mauxiliarcuenta.maux_valodebi-mauxiliarcuenta.maux_valocred o mauxiliarcuenta.maux_valocred-mauxiliarcuenta.maux_valodebi FROM mcuenta, mauxiliarcuenta, mnit WHERE mauxiliarcuenta.mnit_nit=mnit.mnit_nit AND mcuenta.mcue_codipuc=mauxiliarcuenta.mcue_codipuc AND mauxiliarcuenta.pano_ano=@ AND mauxiliarcuenta.pmes_mes<=@ AND mauxiliarcuenta.mnit_nit != '@' //reportInfo.Text=ds.Tables.Count.ToString(); Press frontEnd = new Press(ds, reportTitle); frontEnd.PreHeader(tabPreHeader, report.Width, pr); frontEnd.Firmas(tabFirmas, report.Width); frontEnd.SourceFieldTitles(balGen.PressFields); tbReport = frontEnd.TbReport; ArrayList arC = new ArrayList(); ArrayList arV = new ArrayList(); DataRow[] rows; int l; for (i = 0; i < ds.Tables[1].Rows.Count; i++) { Inserta(arC, ds.Tables[1].Rows[i][0].ToString(), Convert.ToDouble(ds.Tables[1].Rows[i][2]), arV); if (ds.Tables[1].Rows[i][3].ToString().ToUpper() == "D") { TDeb += Convert.ToDouble(ds.Tables[1].Rows[i][2]); } if (ds.Tables[1].Rows[i][3].ToString().ToUpper() == "C") { TCred += Convert.ToDouble(ds.Tables[1].Rows[i][2]); } } for (i = 0; i < arC.Count; i++) { l = arC[i].ToString().Length; dr = tbReport.NewRow(); dr[0] = arC[i].ToString(); rows = ds.Tables[0].Select("MCUE_CODIPUC = '" + arC[i].ToString() + "'"); try{ dr[1] = rows[0][1]; }catch {}; if (l < 3) { dr[5] = ((double)arV[i]).ToString(); } else if (l == 4) { dr[4] = ((double)arV[i]).ToString(); } else if (l == 6) { dr[3] = ((double)arV[i]).ToString(); } else { dr[2] = ((double)arV[i]).ToString(); } if (((double)arV[i]) != 0) { tbReport.Rows.Add(dr); } } frontEnd.PressFieldTitles(report); DataView dv = frontEnd.SortWithNextField(3, 0); DataTable dtTmp = dv.Table; if (values[2] == "A") { report.DataSource = SetAux(dv, 0); report.DataBind(); } else if (values[2] == "D") { report.DataSource = SetAux(dv, 14); report.DataBind(); } else if (values[2] == "G") { report.DataSource = SetAux(dv, 6); report.DataBind(); } else if (values[2] == "M") { report.DataSource = SetAux(dv, 4); report.DataBind(); } StringBuilder SB = new StringBuilder(); StringWriter SW = new StringWriter(SB); HtmlTextWriter htmlTW = new HtmlTextWriter(SW); tabPreHeader.RenderControl(htmlTW); report.RenderControl(htmlTW); tabFirmas.RenderControl(htmlTW); string strRep; strRep = SB.ToString(); Session.Clear(); Session["Rep"] = strRep; toolsHolder.Visible = true; }