none
Pasar datos a crystal report RRS feed

  • Pregunta

  • hola amigos, nuevamente recurro a uds, si es que me pueden ayudar.

    Resulta que estoy trabajando en VB2005 con sql server 2005, y para genera informes estoy usando PrintForm,  envio los datos de un formulario activo al formulario el cual  lo tengo con un timer y lo envio a imprimir, pero esta forma de imprimir los informes tiene varias contras, como por ejemplo el tamaño del papel, toda la información me sale centrada en la  hoja de oficio y pierdo papel, ademas que el texto me sale "pixeliado" por asi decirlo, buscando por ahi llegue a los crystalReport, pero solo he encontrado ejemplos en donde desde la base de datos saca los datos y ahi hace un reporte. lo que necesito es que al enviarle datos de un formulario me imprima en una hoja ya sea en oficio o carta, pero bien.

     

    Muchas gracias  a todos por sus respuestas.


    epicentro_azul@hotmail.com ...
    martes, 8 de febrero de 2011 19:11

Respuestas

Todas las respuestas

  • hola

    usa dataset tipados

    [Crystal Reports] - Exportar DataGridView a Crystal

    veras que no simrpe es necesario conectarse a una db para lanzar el reporte

    puede generarse programaticamente

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 8 de febrero de 2011 19:18
  • por q es necesario crear DataSet?

    y no puedo pasar los datos algo asi como de esta manera? 

       Me.Label5.Text = CarneCruda.FechaTomaMuestraDateTimePicker.Text
        Me.Label6.Text = CarneCruda.MaskedTextBox1.Text
        Me.Label7.Text = CarneCruda.FechaRecepcionDateTimePicker1.Text
        Me.Label8.Text = CarneCruda.MaskedTextBox2.Text
        Me.Label9.Text = CarneCruda.InicioAnalisisTimePicker1.Text
        Me.Label10.Text = CarneCruda.FechaTerminoDateTimePicker2.Text
        Me.Label11.Text = CarneCruda.FechaInformeDateTimePicker3.Text
    
    directamente?


    epicentro_azul@hotmail.com ...
    martes, 8 de febrero de 2011 19:29
  • en principio se podria, pero la idea es que uses asl secciones y la potencia de crystal para crear el reporte

    si asignas los textbox directamente estas acoplando mucho y ademas pierdes mucho de lo que crystal podria ayudarte ya que no defines un origen de datos

    sino que estas accediendo directo a los controles internos

    http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/5f044ee4-2955-438b-be15-55f54b188a05

    veras que alli se usa

            CrystalReport1 report = new CrystalReport1();
            report.SetDataSource(datos)

            ReportObject reportObjectText1 = report.Section2.ReportObjects("Text1")

            reportObjectText1.Border.BackgroundColor = Color.Blue

            CrystalReportViewer1.ReportSource = report

     

    o sea se acceder directo al ReportObjec, pero no queda tan lindo el codigo, por ahi hasta podrias suar parametros

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 8 de febrero de 2011 19:43
  • Leandro tienes el Codigo para visual 2005 ? que no entiendo  para hacer la conversion a 2005 ..
    epicentro_azul@hotmail.com ...
    jueves, 7 de abril de 2011 19:23
  • ESTE CODIGO A 2005 POR FAVOR..

     

     

     

    private dtCompra GenerarFactura()
    {
      dtCompra facturacion = new dtCompra();
    
      //
      // Agrego el registro con la info del cliente
      //
      dtCompra.DatosClienteRow rowDatosCliente = facturacion.DatosCliente.NewDatosClienteRow();
      rowDatosCliente.Nombre = txtNombre.Text;
      rowDatosCliente.Direccion = txtDireccion.Text;
      rowDatosCliente.Telefono = txtTelefono.Text;
      rowDatosCliente.DNI = txtDni.Text;
    
      facturacion.DatosCliente.AddDatosClienteRow(rowDatosCliente);
    
      //
      // Itero por cada fila del DataGridView creando el registro 
      // en el DataTabla 
      //
      foreach (DataGridViewRow row in dgvCompras.Rows)
      {
        dtCompra.ComprasRow rowCompra = facturacion.Compras.NewComprasRow(); 
        rowCompra.Descripcion = Convert.ToString(row.Cells["Descripcion"].Value);
        rowCompra.PrecioUnitario = Convert.ToInt32(row.Cells["PrecioUnitario"].Value);
        rowCompra.Cantidad = Convert.ToInt32(row.Cells["Cantidad"].Value);
    
        facturacion.Compras.AddComprasRow(rowCompra);
      }
    
    
      return facturacion;
    }
    
    
    
    
    
    
    
    
    
    
    public partial class frmVisorFactura : Form
    {
      dtCompra _datosreporte;
    
      private frmVisorFactura()
      {
        InitializeComponent();
      }
    
      public frmVisorFactura(dtCompra datos): this()
      {
        _datosreporte = datos;
      }
    
      private void frmVisorFactura_Load(object sender, EventArgs e)
      {
        Factura _factura = new Factura();
        _factura.SetDataSource(_datosreporte);
    
        crwFactura.ReportSource = _factura;
      }
    }
    
    
    
    
    
    
    
    public partial class frmVisorFactura : Form
    {
      dtCompra _datosreporte;
    
      private frmVisorFactura()
      {
        InitializeComponent();
      }
    
      public frmVisorFactura(dtCompra datos): this()
      {
        _datosreporte = datos;
      }
    
      private void frmVisorFactura_Load(object sender, EventArgs e)
      {
        Factura _factura = new Factura();
        _factura.SetDataSource(_datosreporte);
    
        crwFactura.ReportSource = _factura;
      }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    epicentro_azul@hotmail.com ...
    viernes, 8 de abril de 2011 11:51