Foros del Web » Programación para mayores de 30 ;) » .NET »

Enviar un datagridview hacia un Crystal Report

Estas en el tema de Enviar un datagridview hacia un Crystal Report en el foro de .NET en Foros del Web. Buenos días !! estoy teniendo un problemita con una parte de un programa que estamos diseñando que es bastante simple. Es un programa hecho en ...

  #1 (permalink)  
Antiguo 23/08/2011, 09:30
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Enviar un datagridview hacia un Crystal Report

Buenos días !!

estoy teniendo un problemita con una parte de un programa que estamos diseñando que es bastante simple. Es un programa hecho en vb.net 2005 en donde el cliente carga varias cajas de textos (como por ej. Nombre, direccion, etc) y en una grilla ingresa la cantidad de articulos a vender y la descripcion del articulo. Esto se imprime en un crystal report ya que, ya contamos con las facturas preimpresas.

Las cajas de textos y etiquetas pudimos pasarlas sin ningun problema al CR como parametro. No podemos pasar la grilla al crystal report. Este programa no cuenta con BD ni nada de eso.. simplemente quiero pasar la grilla al crystal report ...

Desde ya agradezco cualquier aporte ..

Muchas gracias de antemano !!
  #2 (permalink)  
Antiguo 23/08/2011, 09:33
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Puedes tomar los datos de la grid y llevarlos a una DataTable dentro de un DataSet.

Este DataSet se convierte en el origen de datos del reporte y si esta cargado el mostrara la informacion sin problemas.


Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 23/08/2011, 09:59
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

muchas gracias por responder tan rápido !

como haría para exportar el datagridview hacia un Dataset?

Saludos !
  #4 (permalink)  
Antiguo 23/08/2011, 10:02
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Como le cargaste los datos al DataGrid?

Muestrame el codigo.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #5 (permalink)  
Antiguo 23/08/2011, 10:12
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

los datos los cargo a mano .. pq no requiere base de datos.. entonces al iniciar el programa cargo en 2 textbox el nombre del cliente y domicilio y en el datagridview (de 3 columnas) la cantidad, descripcion y precio unitario.-
  #6 (permalink)  
Antiguo 23/08/2011, 10:23
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Entonces tambien tendras que cargar la informacion en el DataSet a Mano.

Recorres las filas de la grid (recomendado con un for each)


Y por cada fila que encuentras creas una fila en la tabla del DataSet

Y una vez termines se la envias al reporte.

Has trabajado con DataSet Tipado?

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #7 (permalink)  
Antiguo 23/08/2011, 10:31
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

Muchas gracias por la ayuda !! pero podrias dejar un ej del codigo en donde recorres la tabla y le envias la fila al Dataset ?
  #8 (permalink)  
Antiguo 23/08/2011, 10:54
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Cita:
Iniciado por gastum Ver Mensaje
Muchas gracias por la ayuda !! pero podrias dejar un ej del codigo en donde recorres la tabla y le envias la fila al Dataset ?
Has trabajado con DataSet Tipado?
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #9 (permalink)  
Antiguo 23/08/2011, 10:55
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: Enviar un datagridview hacia un Crystal Report

Cita:
Iniciado por jhonwilliams Ver Mensaje
Has trabajado con DataSet Tipado?
La verdad que no se de que me hablas, es el primer programa que estoy desarrollando ...
  #10 (permalink)  
Antiguo 23/08/2011, 12:32
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

Ya tengo el Dataset, con el Datatable y las columnas que quiero que se me enlacen con el datagrid. Pero, como hago ahora para enlazar el datagrid con el datatable ?

Gracias !!
  #11 (permalink)  
Antiguo 23/08/2011, 12:33
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

El DataSet esta Tipado?

En una aplicacion de Windows o Web?

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #12 (permalink)  
Antiguo 23/08/2011, 12:36
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

Si, tanto el Dataset como el Datatable están hechos gráficamente, no los he hecho con código si a eso te refieres. Disculpame pero soy muy principiante en el VB

Es una aplicacion de windows form.

Saludos !!
  #13 (permalink)  
Antiguo 23/08/2011, 13:55
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Ok, entonces al hacerlo graficamente lo hiciste tipado.

Ahora puedes recorrer la grid.
Código C#:
Ver original
  1. foreach (DataGridViewRow row in dataGridView1.Rows)
  2.             {
  3.                 dataSet11.DataTable1.AddDataTable1Row(
  4.                     row.Cells["nombreColuma1"].Value.ToString(),
  5.                     row.Cells["nombreColuma2"].Value.ToString(),
  6.                     row.Cells["nombreColuma3"].Value.ToString());
  7.             }

Que estamos haciendo?

Recorremos un GridView (dataGridView1) y a una instancia del DataSet (dataSet11) le estamos generando en la DataTable (DataTable1) un DataRow de su tipo con el metodo AddDataTable1Row que es generado automaticamente por el diseñador del DataSet.

Los nombres que use son genericos pero recuerda colocarlos que sean faciles de entender, ejemplo: dsCliente, tblClientes y los campos: nombre, apellidos, direccion, etc....

Una vez termine de recorrer la grid la tabla DataTable1 debe quedar con toda la informacion.

Para pasar de C# a VB o la contrario visita: http://www.developerfusion.com/tools.../csharp-to-vb/

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #14 (permalink)  
Antiguo 23/08/2011, 14:22
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: Enviar un datagridview hacia un Crystal Report

Gracias por la ayuda y disculpa que sea tan torpe, pero al intentar hacer lo que me has dicho me subraya lo que esta entre paréntesis en el código y me dice:

"Un valor de tipo 'string' no se puede convertir en 'form1.grillaremito.datatable1row'

Código:
    Private Sub ActualizarReport()
        For Each row As DataGridViewRow In DataGridView3.Rows
            GrillaRemito.DataTable1.AddDataTable1Row(row.Cells("Cantidad").Value.ToString)
            GrillaRemito.DataTable1.AddDataTable1Row(row.Cells("Descripcion").Value.ToString)
        Next
La grilla se llama: DataGridView3
El Dataset: GrillaRemito.xsd
El Datatable: DataTable1

Saludos !
  #15 (permalink)  
Antiguo 23/08/2011, 14:46
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Claro, si te fijas en mi ejemplo

Código C#:
Ver original
  1. foreach (DataGridViewRow row in dataGridView1.Rows)
  2.             {
  3.                 dataSet11.DataTable1.AddDataTable1Row(
  4.                     row.Cells["nombreColuma1"].Value.ToString(),
  5.                     row.Cells["nombreColuma2"].Value.ToString(),
  6.                     row.Cells["nombreColuma3"].Value.ToString());

El metodo de agregar la fila solo es uno .AddDataTable1Row tu lo tienes en dos veces.

Debes separar cada campo con una coma (,), fijate en la sobre carga del metodo.

Deberia quedar asi:
Código VB.NET:
Ver original
  1. Private Sub ActualizarReport()
  2.         For Each row As DataGridViewRow In DataGridView3.Rows
  3.             GrillaRemito.DataTable1.AddDataTable1Row(row.Cells("Cantidad").Value.ToString,
  4. row.Cells("Descripcion").Value.ToString)
  5.         Next


Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #16 (permalink)  
Antiguo 23/08/2011, 15:41
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: Enviar un datagridview hacia un Crystal Report

Quedó Barbaro, ahora no me marca mas como que este sobrecargando la funcion.. pero al abrir el programa y ejecutar el boton que tiene cargado el procedimiento me marca en esta linea de código

Código:
GrillaRemito.DataTable1.AddDataTable1Row(row.Cells("Cantidad").Value.ToString, row.Cells("Descripcion").Value.ToString, row.Cells("Importe").Value.ToString)
el siguiente error:

Referencia a objeto no establecida como instancia de un objeto.

En que estoy fallando nuevamente?
  #17 (permalink)  
Antiguo 23/08/2011, 15:51
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

El DataSet se llama GrillaRemito?

Si es asi debes agregar el dataset al formulario desde el diseñador o crear una instancia desde el codigo

Código VB.NET:
Ver original
  1. Dim miDataSet as New GrillaRemito

Y hacer el for each contra la instancia.

Código:
miDataSet .DataTable1.AddDataTable1Row(row.Cells("Cantidad").Value.ToString, row.Cells("Descripcion").Value.ToString, row.Cells("Importe").Value.ToString)
Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #18 (permalink)  
Antiguo 23/08/2011, 18:07
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: Enviar un datagridview hacia un Crystal Report

Gracias por tenerme tanta paciencia .. continúa apareciendome el mismo error..

Código:
    Private Sub ActualizarReport()
        Dim DTS As New GrillaRemito

        For Each row As DataGridViewRow In DataGridView3.Rows

            DTS.DataTable1.AddDataTable1Row(row.Cells("Cantidad").Value.ToString, row.Cells("Descripcion").Value.ToString, row.Cells("Importe").Value.ToString)

        Next
Cita:
Referencia a objeto no establecida como instancia de un objeto.
que puedo estar haciendo mal ahora ??
  #19 (permalink)  
Antiguo 24/08/2011, 06:49
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Entonces agregado en el diseño a ver que pasa en lugar de hacerlo por codigo

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #20 (permalink)  
Antiguo 24/08/2011, 11:15
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: Enviar un datagridview hacia un Crystal Report

Hola jhon, disculpa por la demora.. como hago para agregarlo desde el diseño en vez de hacerlo por código ?

Gracias !
  #21 (permalink)  
Antiguo 24/08/2011, 11:30
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Cuando compilas la solucion y estas viendo el diseño del formulario.

En barra de controles en las primeras posiciones aparecen los DataSet, el Titulo del tap es igual al nombre del proyecto y en los controles disponibles esta el DataSet

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #22 (permalink)  
Antiguo 24/08/2011, 11:37
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: Enviar un datagridview hacia un Crystal Report

La verdad que no encuentro como hacer para que me deje de aparecer ese error.. si queres y tenes tiempo te dejo la direccion en donde te subi el proyecto asi te fijas.. te agradezco un monton !

[URL="http://www.filejumbo.com/Download/1468B7A1F285F33A"]http://www.filejumbo.com/Download/1468B7A1F285F33A[/URL]

Última edición por gastum; 24/08/2011 a las 11:51
  #23 (permalink)  
Antiguo 25/08/2011, 08:12
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

Hola Jhon, ya borre el Dataset y lo volvi a arrastrar hacia el formulario.. continua apareciendome el error .. que puede ser ?
  #24 (permalink)  
Antiguo 25/08/2011, 08:57
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Cuando lo arrastras al formulario verifia que el nombre que tienen en la propiedad NAME sea el mismo al que haces referencia por codigo.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #25 (permalink)  
Antiguo 25/08/2011, 09:17
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

El nombre coincide con el que se hace referencia.. ahora hice el formulario de generar factura con un nuevo dataset. Me sigue indicando el mismo error...

Saludos !
  #26 (permalink)  
Antiguo 25/08/2011, 09:26
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: Enviar un datagridview hacia un Crystal Report

Estuve probando .. y si le saco el .ToString al último de cada una de las 3 columna no me da el error .. pero tampoco me lo muestra en el crystal report...


Código:
        Dim DTS As New GrillaRemito
        For Each row As DataGridViewRow In DataGridView3.Rows
            DTS.DataTableArt.AddDataTableArtRow(row.Cells("Cantidad").Value, row.Cells("Descripcion").Value, row.Cells("Importe").Value)
        Next
que puede ser?
  #27 (permalink)  
Antiguo 25/08/2011, 09:40
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Cita:
Iniciado por gastum Ver Mensaje
Estuve probando .. y si le saco el .ToString al último de cada una de las 3 columna no me da el error .. pero tampoco me lo muestra en el crystal report...
Hasta ahora solo has cargado la informacion, lo que sigue es enlazar el DataSet con el Reporte.

Ya hiciste eso?

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #28 (permalink)  
Antiguo 25/08/2011, 09:49
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

Ya he cargado varias veces el Dataset, ya no se que hacer para que me muestre los datos desde la grilla.. no hay otra alternativa a la grilla ?
  #29 (permalink)  
Antiguo 25/08/2011, 09:56
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Enviar un datagridview hacia un Crystal Report

Ya enlazaste el DataSet al diseño del reporte?

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #30 (permalink)  
Antiguo 25/08/2011, 10:06
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Enviar un datagridview hacia un Crystal Report

Si .. estan enlazados y ubicadas en el reporte las 3 columnas.. pero si en el codigo le saco el .tostring no me muestra nada .. unicamente me muestra el titulo de las columnas.. pero si le pongo el .tostring me muestra el error ...

Etiquetas: crystal, datagridview, report
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:48.