Tema: imprimir c#
Ver Mensaje Individual
  #22 (permalink)  
Antiguo 09/07/2008, 12:18
Avatar de Peterpay
Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: imprimir c#

Código:
  Dominio.MoviReportes moviRep;
            ArrayList resultados;
  int contadorglobal=0;
public void eventoclickimprimirodondeincoqueselimprimi()
{
             movirep = new Dominio.MoviReportes();
            moviRep.CodigoCliente = Convert.ToInt32(this.lblCodigoCliente.Text);
            moviRep.CodigoVendedor = codigoVendedor;
            resultados = registro.DatosReactualizacion(moviRep);
          
            ImprmirAc.Print;
}


private void ImprimirAc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {

            Font myFont = new Font("Courier", 10, FontStyle.Regular);

            //Bitmap encabezadoImagen = new Bitmap(@"\\Proliant\SISTEMAS SQL/encabezado.bmp");
            //e.Graphics.DrawImage(encabezadoImagen, new Point(70, 10));

            //e.Graphics.DrawString("Reactualización de reportes", new Font("Courier", 20, FontStyle.Underline), Brushes.Black, 250, 100, new StringFormat());
            //e.Graphics.DrawString("Fecha: " + DateTime.Now.ToShortDateString(), new Font("Courier", 16, FontStyle.Regular), Brushes.Black, 330, 130, new StringFormat());


            //e.Graphics.DrawString("Visitas realizadas por el vendedor: " + this.lblNombreVendedor.Text, new Font("Courier", 16, FontStyle.Regular), Brushes.Black, 0, 180, new StringFormat());
          

  int contador1Linea = 250;
            int contador2Linea = 270;
            int contador3Linea = 290;
            int contador4Linea = 310;
            int contador5Linea = 330;
            int contador6Linea = 350;
            int contador = 0;
            for(int i=0;i<numerodereportesporpagina;i++)
            {
                Dominio.MoviReportes movReportes=(Dominio.MoviReportes) resultados[contadorglobal];
                #region

                string tipoDeVisita = "";
                if (movReportes.TipoDeVisita == 1)
                {
                    tipoDeVisita = "POR TELEFONO";
                }
                else if (movReportes.TipoDeVisita == 2)
                {
                    tipoDeVisita = "VISITA CASA";
                }
                else if (movReportes.TipoDeVisita == 3)
                {
                    tipoDeVisita = "VISITA AL C.M.";
                }


                string estado = "";
                ArrayList resultadosDatos = registro.buscarTipoDeDato();
                foreach (Dominio.TipoDeDato tipoDato in resultadosDatos)
                {
                    if (movReportes.CodigoEstado == tipoDato.CodigoDato)
                    {
                        estado = tipoDato.TipoDeDato1;
                    }
                }

                #endregion

                // PRIMERA LINEA !!!
                e.Graphics.DrawString("FECHA VISITA: " + movReportes.FechaVisitaRuta.ToShortDateString(), myFont, Brushes.Black, 0, contador1Linea, new StringFormat());
                e.Graphics.DrawString("FECHA PROX. VISITA: " + movReportes.FechaProximaRuta.ToShortDateString(), myFont, Brushes.Black, 400, contador1Linea, new StringFormat());

                // SEGUNDA LINEA !!!
                e.Graphics.DrawString("Nº RUTA: " + movReportes.NumeroRuta, myFont, Brushes.Black, 0, contador2Linea, new StringFormat());
                e.Graphics.DrawString("DIRECCIÓN: " + movReportes.Direccion, myFont, Brushes.Black, 400, contador2Linea, new StringFormat());

                // TERCERA LINEA !!!
                e.Graphics.DrawString("TIPO DE VISITA: " + tipoDeVisita, myFont, Brushes.Black, 0, contador3Linea, new StringFormat());
                e.Graphics.DrawString("ESTADO: " + estado, myFont, Brushes.Black, 400, contador3Linea, new StringFormat());

                //CUARTA LINEA !!!
                e.Graphics.DrawString("Nº TELEFONO: " + movReportes.NumeroTelefono, myFont, Brushes.Black, 0, contador4Linea, new StringFormat());
                e.Graphics.DrawString("PERSONA CONTACTO: " + movReportes.PersonaDeContacto, myFont, Brushes.Black, 400, contador4Linea, new StringFormat());

                //QUINTA LINEA !!!
                e.Graphics.DrawString("OBSERVACIONES: " + movReportes.Observaciones, myFont, Brushes.Black, 0, contador5Linea, new StringFormat());

                // SEPARADOR DE REGISTROS
                Pen myPen1 = new Pen(Color.Black);
                myPen1.DashStyle = DashStyle.Dash;
                e.Graphics.DrawLine(myPen1, 800, contador6Linea, 0, contador6Linea);

                contador1Linea += 130;
                contador2Linea += 130;
                contador3Linea += 130;
                contador4Linea += 130;
                contador5Linea += 130;
                contador6Linea += 130;
              
            }        
            try{
            if(resultados[contadorglobal]!=null)
            {
                 e.HasMorepageS=true;
             } 
             else{   e.HasMorepageS=false;
}}catch(Exception ex){   e.HasMorepageS=false;
 }
        }
no esta cmpleto usa lo q te dije del contador faltna las condiciones para poder hacder el paro cundo tienes mas de una pagian cuando todavia existen registros por imprimir y esas cosas q explique en el post pasado
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5