Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }