Exemple #1
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (txtAno.Text.Trim().Length < 4)
            {
                return;
            }

            DataTable WDatos = _CargarDatosPorAnio(txtAno.Text);

            ReportDocument rpt      = null;
            string         WFormula = "";

            progressBar1.Value = 0;

            if (WDatos.Rows.Count == 0)
            {
                return;
            }

            if (rbPlanilla.Checked)
            {
                DataTable WDatosII = new DataTable();

                WDatosII.Columns.Add("Curso", typeof(int));
                WDatosII.Columns.Add("DescCurso");
                WDatosII.Columns.Add("Personas", typeof(int));

                progressBar1.Maximum = WDatos.Rows.Count;

                var WCursos = WDatos.DefaultView.ToTable(true, "Curso", "DescCurso");

                foreach (DataRow WCurso in WCursos.Select("", "Curso ASC"))
                {
                    if (int.Parse(WCurso["Curso"].ToString()) > 0)
                    {
                        DataRow r = WDatosII.NewRow();

                        var WPersonas = WDatos.Select("Curso = '" + WCurso["Curso"] + "'").ToArray().Count();

                        r["Curso"]     = WCurso["Curso"];
                        r["DescCurso"] = WCurso["DescCurso"];
                        r["Personas"]  = WPersonas;

                        WDatosII.Rows.Add(r);
                    }

                    progressBar1.Increment(1);
                }

                rpt = new PlanCapacitacionAnualTentativo();
                rpt.SetDataSource(WDatosII);
            }
            else if (rbPorLegajo.Checked)
            {
                DataTable WDatosII = new DBAuxi.ListadoTentativoDataTable();
                int       i        = 0;

                progressBar1.Maximum = WDatos.Rows.Count;

                foreach (DataRow row in WDatos.Rows)
                {
                    DataRow r = WDatosII.NewRow();

                    i++;
                    r["ID"]         = i;
                    r["Legajo"]     = row["Legajo"];
                    r["DescLegajo"] = row["DescLegajo"];
                    r["Curso"]      = row["Curso"];
                    r["DescCurso"]  = row["DescCurso"];
                    r["Tema"]       = row["Tema"];
                    r["DescTema"]   = row["DescTema"];
                    r["Horas"]      = row["Horas"];
                    r["Sector"]     = row["Sector"];
                    r["DescSector"] = row["DescSector"];
                    r["Año"]        = txtAno.Text;

                    WDatosII.Rows.Add(r);

                    progressBar1.Increment(1);
                }

                rpt = new ListadoPersonalCapacitacionAnualTentativo();
                rpt.SetDataSource(WDatosII);
            }
            else
            {
                progressBar1.Maximum = WDatos.Rows.Count;

                string WFiltroCursos = "";

                var WCursos = WDatos.DefaultView.ToTable(true, "Curso");

                foreach (DataRow WCurso in WCursos.Select("", "Curso ASC"))
                {
                    if (int.Parse(WCurso["Curso"].ToString()) > 0)
                    {
                        WFiltroCursos += WCurso["Curso"] + ",";
                    }

                    progressBar1.Increment(1);
                }

                rpt = new ListadoCursosIncluidos();

                if (WFiltroCursos.Trim() != "")
                {
                    WFiltroCursos = WFiltroCursos.Trim(',');

                    WFormula = "{Tema.Curso} IN [" + WFiltroCursos + "] And {Tema.Curso} > 0";
                }
            }

            progressBar1.Value = 0;

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(rpt, WFormula);

            frm.Show(this);
        }