IMPRIMIR DATAGRID O DATASET

Moderador: raul338

C#, tambien llamado C Sharp

IMPRIMIR DATAGRID O DATASET

Notapor RDV1981 » Dom May 04, 2008 5:44 pm

Buenas Tardes. Tengo el siguiente problema desde hace 2 semanas y aun no consigo solventarlo.

Estoy trabajando con VS.NET-C#2003 y necesito imprimir un DATASET. Yo llenó el DataSet a traves de la Clase SQLHELPER y queda de la siguiente forma:

Código: Seleccionar todo
  1.  

  2.  

  3. dgVisitante.DataSource=null; // MI DATAGRID

  4.  

  5. SqlConnection con = CLASS_PRINCIPAL.dameconexion(); // ABRE CONEXION

  6.  

  7. DataSet dsVisitantes2 = new DataSet(); // MI DATASET

  8.  

  9. dsVisitantes2=SqlHelper.ExecureDataSet(con,ComandT ype.Text,string.Format(ClsSQL.PorCedula,Form_REPOR TE_CEDULA.cedula)) // MI CONSULTA

  10.  

  11. dgVisitante.DataSource=dsVisitantes2.Tables[0>; // MUESTRA EN MI DATAGRID LA INFORMACION DE MI DATASET

  12.  

  13. con.Close(); // CIERRA CONEXION

  14.  

  15.  



Este codigo anterior funciona pefectamente, ya que el reporte que se muestra en el DataGrid es el correcto. Ahora lo que necesito es imprimir esta información. No es necesario que imprima algun encabezado, o que tenga cierta presencia. Con que solamente imprima la informacion tal cual aparece en el datagrid seria perfecto. Entonces yo logre imprimir el DataGrid de esta manera:

Código: Seleccionar todo
  1.  

  2.  

  3. private void button1_Click(System.Object sender, System.EvenArgs e) // BOTON PARA IMPRIMIR

  4. {

  5. printDocument1.Print();

  6. }

  7.  

  8. private void printDocument1_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)

  9. {

  10. PaintEventArgs myPaintArgs = new PaintEventArgs (e.Graphics, new Rectangle (new Point (100, 100), this.Size));

  11.  

  12. this.InvokePaint(dgVisitante, myPaintArgs);

  13. }

  14.  

  15.  



Este codigo anterior tambien funciona, ya que si imprime la informacion del DataGrid, pero hay un problema, si el reporte es mas largo del tamaño del DataGrid y aparece la barra al lado para moverse hacia abajo o hacia arriba para ir viendo el reporte, cuando se manda a imprimir solamente imprime la parte del reporte que esta visible por pantalla en ese momento, pareciera que esta imprimiendo es un copyscreen del dataGrid, entonces cuando es un reporte pequeñito de unas 30 lineas no hay problema, pero cuando los reportes son mayores solo me imprime una parte. Entonces la solución seria mandar a imprimir el Dataset en vez de el DatGrid. Pero no se como hacerlo, ya que si cambio en ese codigo el DataSet por el DataGrid me da error.

Por favor si alguien me puede ayudar con este problema, ya que en internet lo que he conseguido son codigos sumanete extensos ( por lo menos de 100 lineas de codigo) para hacer esto que debe de ser sumanete sencillo ya que no lleva formato si no simplemente imprimir todo el DataSet o todo el DataGrid tal cual como viene. Seria de mucha utilidad que me envien el codigo de como hacerlo, tengo mas de 2 semansa y no consigo una solucion. Gracias.

Atte. Raul.

correo: elchapis81@hotmail.com
RDV1981
Novato
Novato
 
Mensajes: 2
Registrado: Dom May 04, 2008 5:42 pm


Re: IMPRIMIR DATAGRID O DATASET

Notapor ivancp » Mar May 06, 2008 12:35 pm

Utiliza crystal reports por que el codigo que muestras es solo un artificio para imprimir pocos datos (o los datos que se ven), un reporteador como crystal reports es muy util para estos casos.

En el caso de usar crystal reports simplemente tienes que pasarle como parametro la consulta que desees que se imprima, eso ya puedes manejarlo como quieras, por que las consultas sql son simples cadenas de texto.
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm


Re: IMPRIMIR DATAGRID O DATASET

Notapor RDV1981 » Vie May 09, 2008 9:50 am

Gracias Ivanc por contestar. El problema esta en que no se como usar el Crystal Report. Ya que cada vez que lo hago y envio el dataset, me dice que la tabla no es valida, y no se de que tabla me esta hablando. Aparentemente hayq eu registrar unas tablas y de verdad no entiendo nada. Yo pense que era enviando el dataset y mas nada, peor al parecer no es asi y hay que configurar varias cosas. Si alguien me puede ayudar como imprimir el codigo anterior imprimiendolo directo desde la aplicacion o a tarves del crystal seria excelente.
RDV1981
Novato
Novato
 
Mensajes: 2
Registrado: Dom May 04, 2008 5:42 pm


    

Volver a C#

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados