Reportviewer solo muestra un registro

Iniciado por Anima Lost, 31 Octubre 2020, 00:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Anima Lost

Buen día a todos,

Esta pregunta ya la he visto en varios foros pero sigo instrucciones y no se que mas hacer sigo con mi inconveniente.

Tengo un Rdlc enlazado a una Clase Class_Citas en donde necesito mostrar en una tabla (tengo un Tablix) los resultados de una consulta, uso C#.

Clase Class_Citas


using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace CXN
{
   public class Class_Citas
   {
       public string Hora_Cita { get; set; }
       public string Paciente { get; set; }
       public string Telefono { get; set; }
       public string Profesional { get; set; }
       public string Aseguradora { get; set; }
       public string Admision { get; set; }
   }
}


Consulta que paso a la clase desde otro Form (tambien he usado while y nada):


String Cargar_Hora = "AQUI VA LA CONSULTA A LA BASE";
                   SqlCommand Carga_Command = new SqlCommand(Cargar_Hora, con);
                   SqlDataReader Lectura_Hora = (Carga_Command.ExecuteReader());
                   if (Lectura_Hora.Read() == true)
                   {
                       Class_Citas Class_Citas1 = new Class_Citas();
                       Rpt_Citas Rpt_Citas1 = new Rpt_Citas();

                       Class_Citas1.Hora_Cita = Convert.ToDateTime(Lectura_Hora["Hor_Pac_Hora_Cita"].ToString()).ToString("HH:mm");
                       Class_Citas1.Paciente = Lectura_Hora["Hor_Imp_Age"].ToString();
                       Class_Citas1.Telefono = Lectura_Hora["Pac_Telefono"].ToString();
                       Class_Citas1.Profesional = Lectura_Hora["Bod_Responsable"].ToString();
                       Class_Citas1.Aseguradora = Lectura_Hora["Ase_Descripcion"].ToString();
                       Class_Citas1.Admision = Lectura_Hora["Hor_Id"].ToString();
                       Rpt_Citas1.Class_Citas1.Add(Class_Citas1);
                       Rpt_Citas1.Show();
                   }
                   else
                   {
                       MessageBox.Show("No hay resultados");
                       return;
                   }


Este es el codigo en el Formulario que tiene el ReportViewer


public partial class Rpt_Citas : Form
   {
       public List<Class_Citas> Class_Citas1 = new List<Class_Citas>();
       public Rpt_Citas()
       {
           InitializeComponent();
       }

       private void Rpt_Citas_Load(object sender, EventArgs e)
       {
           reportViewer1.LocalReport.DataSources.Clear();
           reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", Class_Citas1));
           this.reportViewer1.RefreshReport();
           this.reportViewer1.RefreshReport();
           this.reportViewer1.RefreshReport();
           this.reportViewer1.RefreshReport();
       }
   }


Este es mi Rdlc (Tablix)

https://drive.google.com/file/d/16OfdJSsOoK00uhc8acT0y_6IDa0i76x0/view?usp=sharing


Y finalmente este es mi resultado

https://drive.google.com/file/d/1vzq2bE5gHb1c677Qqe9-QDiq0jF7NPFv/view?usp=sharing


Alguien por favor me puede orientar que debo cambiar en mi proceso para que me muestre la cantidad de registros correcta en mi Reportviewer, que la consulta contenga.

Agradezco sus valiosas respuestas