Principales respuestas
Crear aplicacion que genere un reporte

Pregunta
-
Hola amigos, lo que quiero hacer es muy simple: quiero crear una pequeña aplicacion que coloque unos datos como Id, nombre, direccion y esos mostrarlos en una hoja tipo reporte, no me interesa guardar los datos, simplemente mostrarlos en un reporte que tenga una imagen de una factura.
Esto lo se hacer usando la herramienta reportviewer, pero ocurre que necesito una conexion a base de datos para manejar el dataset del reporte y como dije anteriormente no me interesa guardar la data, me quiero evitar crear la base de datos, ya que la idea de la aplicacion es que por su sencillez se pudiera ejecutar en cualquier lado pero si uso la base de datos se va a complicar porque la base de datos va a tener que estar en una ruta en especifico para que la aplicacion funcione.
Estoy casi convencido que debe haber una manera de poder manejar datasets que no tengan que pertenecer a una base de datos para poder usarse en el reportviewer pero desconozco el caso.
Espero me puedan sugerir alguna solucion interesante.
Saludos
Respuestas
-
buenos dias
yo cree un proyecto que te puede ayudar
private void button3_Click_1(object sender, EventArgs e)
{//el nombre del dataset
PurificadoraDataSet datos = generarfactura();
//el nombre del formulario donde se encentra documen view
verfactura luis = new verfactura(datos);
luis.Show();
//declaramos una funcionprivate PurificadoraDataSet generarfactura()
{
PurificadoraDataSet facturacion = new PurificadoraDataSet();
/// ventas es el nombre de la tabla que esta dentro del dataset y los otros datos los registros dentro deyaPurificadoraDataSet.VentasRow rowventas = facturacion.Ventas.NewVentasRow();
rowventas.cliente = txtcliente.Text;
rowventas.cantidad =Convert.ToInt16( txtcantidad.Text);
rowventas.precio =Convert.ToInt16( txtprecio.Text);
rowventas.total = Convert.ToInt16(txttotal.Text);
rowventas.ncf = txtncf.Text;
rowventas.fecha = txtfecha.Text;
rowventas.idfactura = Convert.ToInt16( txtidfactura);
//rowventas.codigo_barra =Convert (pictureBox1.Image);
facturacion.Ventas.AddVentasRow(rowventas);
}estos son los codigos que estan dentro del formulario donde esta el report view
using System.Windows.Forms;
namespace Purificadora
{
public partial class verfactura : Form
{
PurificadoraDataSet _datosreporte;
public verfactura()
{
InitializeComponent();
}
public verfactura(PurificadoraDataSet datos)
: this()
{
_datosreporte = datos;
}
private void verfactura_Load(object sender, EventArgs e)
{
factura _factura = new factura();
_factura.SetDataSource(_datosreporte);
crystalReportViewer1.ReportSource = _factura;
}
}
}- Propuesto como respuesta luis alberto de la cruz sábado, 18 de agosto de 2012 15:56
- Marcado como respuesta Eder CostaModerator martes, 21 de agosto de 2012 12:41
-
hola
puede crear un dataset tipado y cargarlo desde codigo
[Crystal Reports] - Exportar DataGridView a Crystal
si bien alli se sua crystal con reporting service es identico, lo que deberias analizar es la forma ne que se vuelcan los datos del grid al dataset tipado
de esa forma podrias sin una db crear datos para el reporte desde cualquier origen de dato que tengas
solo crear el xsd y define desde la toolbox el datatable con los campos asi defines la estructura
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Eder CostaModerator martes, 21 de agosto de 2012 12:41
Todas las respuestas
-
buenos dias
yo cree un proyecto que te puede ayudar
private void button3_Click_1(object sender, EventArgs e)
{//el nombre del dataset
PurificadoraDataSet datos = generarfactura();
//el nombre del formulario donde se encentra documen view
verfactura luis = new verfactura(datos);
luis.Show();
//declaramos una funcionprivate PurificadoraDataSet generarfactura()
{
PurificadoraDataSet facturacion = new PurificadoraDataSet();
/// ventas es el nombre de la tabla que esta dentro del dataset y los otros datos los registros dentro deyaPurificadoraDataSet.VentasRow rowventas = facturacion.Ventas.NewVentasRow();
rowventas.cliente = txtcliente.Text;
rowventas.cantidad =Convert.ToInt16( txtcantidad.Text);
rowventas.precio =Convert.ToInt16( txtprecio.Text);
rowventas.total = Convert.ToInt16(txttotal.Text);
rowventas.ncf = txtncf.Text;
rowventas.fecha = txtfecha.Text;
rowventas.idfactura = Convert.ToInt16( txtidfactura);
//rowventas.codigo_barra =Convert (pictureBox1.Image);
facturacion.Ventas.AddVentasRow(rowventas);
}estos son los codigos que estan dentro del formulario donde esta el report view
using System.Windows.Forms;
namespace Purificadora
{
public partial class verfactura : Form
{
PurificadoraDataSet _datosreporte;
public verfactura()
{
InitializeComponent();
}
public verfactura(PurificadoraDataSet datos)
: this()
{
_datosreporte = datos;
}
private void verfactura_Load(object sender, EventArgs e)
{
factura _factura = new factura();
_factura.SetDataSource(_datosreporte);
crystalReportViewer1.ReportSource = _factura;
}
}
}- Propuesto como respuesta luis alberto de la cruz sábado, 18 de agosto de 2012 15:56
- Marcado como respuesta Eder CostaModerator martes, 21 de agosto de 2012 12:41
-
Saludos
estos es lo mismo lo unico para que no tede un error de poner al final un return al final y si quieres ver imagenes
debes de convertirlas.
public void button3_Click_1(object sender, EventArgs e)
{
PurificadoraDataSet datos = generarfactura();
verfactura luis = new verfactura(datos);
luis.Show();
}
public PurificadoraDataSet generarfactura()
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
PurificadoraDataSet facturacion = new PurificadoraDataSet();
PurificadoraDataSet.VentasRow rowventas = facturacion.Ventas.NewVentasRow();
rowventas.cliente = Convert.ToString(txtcliente.Text);
rowventas.cantidad = Convert.ToInt32(txtcantidad.Text);
rowventas.precio = Convert.ToInt32(txtprecio.Text);
rowventas.total = Convert.ToInt32(txttotal.Text);
rowventas.ncf = Convert.ToString(txtncf.Text);
rowventas.fecha = Convert.ToString(txtfecha.Text);
rowventas.idfactura = Convert.ToInt32(txtidfactura.Text);
rowventas.codigo_barra = ms.ToArray();
facturacion.Ventas.AddVentasRow(rowventas);
{
}
return facturacion;
}
-
hola
puede crear un dataset tipado y cargarlo desde codigo
[Crystal Reports] - Exportar DataGridView a Crystal
si bien alli se sua crystal con reporting service es identico, lo que deberias analizar es la forma ne que se vuelcan los datos del grid al dataset tipado
de esa forma podrias sin una db crear datos para el reporte desde cualquier origen de dato que tengas
solo crear el xsd y define desde la toolbox el datatable con los campos asi defines la estructura
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Eder CostaModerator martes, 21 de agosto de 2012 12:41