C sharp - ReportViewer C# Con varios registros

 
Vista:
sin imagen de perfil
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

ReportViewer C# Con varios registros

Publicado por Fabian (11 intervenciones) el 23/01/2019 22:33:26
Buen día a todos, bueno tuve que consultar aquí debido a que en paginas de Internet no encuentro información muy clara al respecto, he intentado varias cosas y no me funciona lo que requiero.

La cosa es que tengo un formulario en C# el cual esta enlazado a una Clase que por medio de un button me exporta a un ReportViewer Factura.rdlc mis datos. El problema es con el detallado de la factura. Los datos vienen de un filtro que hago en el formulario hacia SQL Server el cual contiene varios registros

como se muestra a continuación:

Captura2

La cuestión es que al realizar la exportación de datos me trae solo el primer registro y no los trae todos, así:

Captura
Esto es un Tablix

Cabe mencionar que el filtro (sentencia o cadena) de exportar datos esta bien hecho ya que si lleno un datagridview de la misma forma si lo llena normalmente, todas las filas.

El código de la clase es el siguiente:

1
2
3
4
public class FacturaDatClass
    {
       public string CodigoCargo { get; set; }
    }

El button del formulario que exporta es el siguiente:

1
FacturaDatClass.CodigoCargo = ResCargo["SerFacRCod"].ToString();

Donde SerFacCod es el campo de mi tabla de SQL Server. Como indico un datagridview si me trae todas las filas pero el Tablix del ReportViewer Rdlc solo me muestra la primera fila. Ese es mi inconveniente, necesito que el Tablix me muestre todas las filas.

Agradezco su valiosa ayuda....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ReportViewer C# Con varios registros

Publicado por Juan (1 intervención) el 28/01/2019 22:22:28
Podrias poner de favor el código de tu clase/clases para revisarlo... y poderte ayudar

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

ReportViewer C# Con varios registros

Publicado por Fabian (11 intervenciones) el 28/01/2019 22:52:00
Hola, gracias por responder aun sigo con este problema...

Los códigos son:

Botón que exporta al informe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
FacturaDatClass FacturaDatClass = new FacturaDatClass();
ImpFacturaForm form2 = new ImpFacturaForm();
 
String CargarN = "Select * from ZAM_FACTURASERV where SerFacRFac LIKE '20131' and SerFacREstado = 'F'";
SqlCommand Carga = new SqlCommand(CargarN, con);
SqlDataReader ResCargo = (Carga.ExecuteReader());
if (ResCargo.Read() == true)
{
    FacturaDatClass.CantidadCargo = ResCargo["SerFacRCant"].ToString();
    FacturaDatClass.CodigoCargo = ResCargo["SerFacRCod"].ToString();
    FacturaDatClass.ItemCargo = ResCargo["SerFacRItem"].ToString();
    FacturaDatClass.VrUniCargo = ResCargo["SerFacRVrUni"].ToString();
    FacturaDatClass.VrTotCargo = ResCargo["SerFacRTot"].ToString();
}

Clase:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace WindowsFormsApplication1
{
   public class FacturaDatClass
    {
  public string CantidadCargo { get; set; }
       public string CodigoCargo { get; set; }
       public string ItemCargo { get; set; }
       public string VrUniCargo { get; set; }
       public string VrTotCargo { get; set; }
    }
}

La clase se llama FacturaDatClass, El contenedor del informe es Form2, El dataset es DataSet1, y el rdlc es Factura.Rdlc, alli tengo un Tablix con 5 columnas cada una con su dato respectivo.

Te agradezco tu ayuda...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier
Val: 96
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

ReportViewer C# Con varios registros

Publicado por Javier (40 intervenciones) el 28/01/2019 23:54:02
Creo deberías utilizar While al leer tu datareader.

1
if (ResCargo.Read() == true)

1
while (ResCargo.Read())
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

ReportViewer C# Con varios registros

Publicado por Fabian (11 intervenciones) el 29/01/2019 00:33:02
Lo intente, coloque while pero ahora hace todo el reader y va hasta el final pero no agrega las filas al tablix sino que sigue mostrando una sola fila pero ahora con el último registro del reader, ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier
Val: 96
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

ReportViewer C# Con varios registros

Publicado por Javier (40 intervenciones) el 30/01/2019 01:12:40
Debes generar una lista de tu clase, si mal no entiendo solo estas pasando un dato.

1
2
3
4
5
6
7
Lista.add(new tu clase{
    CantidadCargo = ResCargo["SerFacRCant"].ToString();
    CodigoCargo = ResCargo["SerFacRCod"].ToString();
    ItemCargo = ResCargo["SerFacRItem"].ToString();
    VrUniCargo = ResCargo["SerFacRVrUni"].ToString();
    VrTotCargo = ResCargo["SerFacRTot"].ToString();
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

ReportViewer C# Con varios registros

Publicado por Fabian (11 intervenciones) el 31/01/2019 01:05:46
No, sigue la misma cuestión. Pero finalmente lo solucione de otra forma que no quería usar pero no tuve otra opción, use crystal reports y logre hacerlo.

Muchas gracias por tu ayuda, de todas formas vi cosas que aun no sabia de la forma en que me decías.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar