Foros > C# (Sharp) ( Limpio y listo para usarse ): IMPRIMIR DATASET O DATAGRID

  1. RDV1981

    Mensajes [2] - Enviado el Domingo 04 de Mayo de 2008 a las 19:39hs

    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:

    ************* COMIENZA CODIGO ***********************

    dgVisitante.DataSource=null; // MI DATAGRID

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

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

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

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

    con.Close(); // CIERRA CONEXION

    ************* TERMINA CODIGO ***********************

    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:

    ************* COMIENZA CODIGO ***********************

    private void button1_Click(System.Object sender, System.EvenArgs e) // BOTON PARA IMPRIMIR
    {
    printDocument1.Print();
    }

    private void printDocument1_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
    PaintEventArgs myPaintArgs = new PaintEventArgs (e.Graphics, new Rectangle (new Point (100, 100), this.Size));

    this.InvokePaint(dgVisitante, myPaintArgs);
    }

    ************* TERMINA CODIGO ***********************

    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: [email protected]

  2. RDV1981

    Mensajes [2] - Enviado el Viernes 09 de Mayo de 2008 a las 11:30hs

    No hay alguien en este Foro que me pueda ayudar? Por favor es Urgente!!!


responder

Para poder responder a este tema tenes que ingresar. Si no tenes una cuenta podes registrarse gratis..

publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API