private void CreaRepo() { if (String.IsNullOrEmpty(nameReport.Trim())) { MessageBox.Show("Nombre de Reporte no está definido. Verifique"); } List <SqlParameter> prmtr = new List <SqlParameter>(); foreach (DLIB.Parametro pm in Paramis) { if (pm.tip != DLIB.Parametro.tipo.SoloRepo) { prmtr.Add(new SqlParameter(pm.Nombre, pm.value)); } } DLIB.RepoMan repo = new DLIB.RepoMan(nameReport, prmtr); repo.load(); this.ActDb = repo.db; this.visor.SetDisplayMode(DisplayMode.Normal); //this.Titulo = repo.Comentario; if (String.IsNullOrEmpty(visor.LocalReport.ReportPath)) { this.visor.LocalReport.ReportPath = System.IO.Directory.GetCurrentDirectory() + "\\Reportes\\" + nameReport + ".rdlc"; } //this.WindowState = FormWindowState.Maximized; this.visor.ProcessingMode = ProcessingMode.Local; this.visor.LocalReport.DataSources.Clear(); try { for (int j = 0; j <= repo.db.Tables.Count - 1; j++) { if (j == 0) { continue;//Saltar tabla con el nombre de las tablas que siempre debe de ser la primera en el conjunto de seleccion } DataTable table = repo.db.Tables[j]; this.visor.LocalReport.DataSources.Add(new ReportDataSource(table.TableName, table)); } } catch (Exception ex) { MessageBox.Show("opps: " + ex.Message); } this.visor.LocalReport.EnableExternalImages = repo.EnableExternalImages; if (Paramis != null) { ReportParameter[] parametr = new ReportParameter[0]; int i = 0; foreach (DLIB.Parametro pm in Paramis) { if (pm.tip != DLIB.Parametro.tipo.SoloSQL) { Array.Resize(ref parametr, i + 1); parametr[i] = new ReportParameter(pm.Nombre, pm.value.ToString()); i++; } } try { visor.LocalReport.SetParameters(parametr); } catch (Exception ex) { MessageBox.Show("opps: " + ex.Message); } } this.visor.RefreshReport(); }
private void CreaRepo() { string namereport = ""; if (this.rbDet.Checked) { namereport = "R_07001D"; } else { namereport = "R_07001R"; } List <DLIB.Parametro> lo = new List <DLIB.Parametro>(); lo.Add(new DLIB.Parametro("userid", DLIB.Globales.Parametros.UsrId, DLIB.Parametro.tipo.Ambos)); lo.Add(new DLIB.Parametro("fecini", fecIni.Value, DLIB.Parametro.tipo.Ambos)); lo.Add(new DLIB.Parametro("fecfin", fecFin.Value, DLIB.Parametro.tipo.Ambos)); lo.Add(new DLIB.Parametro("provee", txtprov.Text.Trim(), DLIB.Parametro.tipo.SoloSQL)); lo.Add(new DLIB.Parametro("loteini", txtLoteIni.Text.Trim(), DLIB.Parametro.tipo.SoloSQL)); lo.Add(new DLIB.Parametro("lotefin", txtLoteFin.Text.Trim(), DLIB.Parametro.tipo.SoloSQL)); lo.Add(new DLIB.Parametro("comprador", txtcompra.Text.Trim(), DLIB.Parametro.tipo.Ambos)); List <SqlParameter> prmtr = new List <SqlParameter>(); foreach (DLIB.Parametro pm in lo) { if (pm.tip != DLIB.Parametro.tipo.SoloRepo) { prmtr.Add(new SqlParameter(pm.Nombre, pm.value)); } } DLIB.RepoMan repo = new DLIB.RepoMan(namereport, prmtr); repo.load(); this.visor.SetDisplayMode(DisplayMode.Normal); //this.Titulo = repo.Comentario; if (String.IsNullOrEmpty(visor.LocalReport.ReportPath) || !this.visor.LocalReport.ReportPath.Equals(System.IO.Directory.GetCurrentDirectory() + "\\Reportes\\" + namereport + ".rdlc")) { this.visor.LocalReport.ReportPath = System.IO.Directory.GetCurrentDirectory() + "\\Reportes\\" + namereport + ".rdlc"; } //this.WindowState = FormWindowState.Maximized; this.visor.ProcessingMode = ProcessingMode.Local; this.visor.LocalReport.DataSources.Clear(); try { for (int j = 0; j <= repo.db.Tables.Count - 1; j++) { if (j == 0) { continue; } DataTable table = repo.db.Tables[j]; this.visor.LocalReport.DataSources.Add(new ReportDataSource(table.TableName, table)); } } catch (Exception ex) { MessageBox.Show("opps: " + ex.Message); } this.visor.LocalReport.EnableExternalImages = repo.EnableExternalImages; if (lo != null) { ReportParameter[] parametr = new ReportParameter[0]; int i = 0; foreach (DLIB.Parametro pm in lo) { if (pm.tip != DLIB.Parametro.tipo.SoloSQL) { Array.Resize(ref parametr, i + 1); parametr[i] = new ReportParameter(pm.Nombre, pm.value.ToString()); i++; } } try { visor.LocalReport.SetParameters(parametr); } catch (Exception ex) { MessageBox.Show("opps: " + ex.Message); } } this.visor.RefreshReport(); }