¿Cómo hacer una tabla en Crystal Report?

publicado por: Anonymous

Alguien que me pueda decir, como generar una tabla en Crystal Report, según lo que yo leí es que la tabla se genera sola al poner los campos de datos en la sección de detalle pero no funciona, en vez de mostrarme los 3 o 4 registros que hay, solo me muestra uno.

Estoy usando C# y los datos los paso a través de un dataset.

Código para pasar los datos:

if (txtProveedor.Text != "")
{
    datos ds = new datos(); //creamos el objeto dataset
    frmVerReporte ver;//creamos el objeto para visor de reportes
    //llenamos el dataset
    ds.Tabla.Rows.Add(txtProveedor.Text, txtCliente.Text, txtFecha.Text,
    dgv_materiales.CurrentRow.Cells[0].Value.ToString(),
    dgv_materiales.CurrentRow.Cells[1].Value.ToString(),
    dgv_materiales.CurrentRow.Cells[2].Value.ToString(),
    dgv_materiales.CurrentRow.Cells[3].Value.ToString(),
    dgv_materiales.CurrentRow.Cells[4].Value.ToString(),
    dgv_materiales.CurrentRow.Cells[5].Value.ToString(),
    dgv_materiales.CurrentRow.Cells[6].Value.ToString(),
    dgv_materiales.CurrentRow.Cells[7].Value.ToString()
);
//iniciamos el visor del reporte y mandamos los datos de la tabla.
ver = new frmVerReporte(ds.Tabla);
ver.Show();

Y solo me muestra el reporte así:

introducir la descripción de la imagen aquí

Por decir a este reporte le falta que muestre otros 3 registros.

solución

Intenta de la siguiente manera:

if (txtProveedor.Text != "")
{
    datos ds = new datos(); //creamos el objeto dataset
    frmVerReporte ver;//creamos el objeto para visor de reportes
    //llenamos el dataset
    foreach(DataGridViewRow row in dgv_materiales.Rows){
        ds.Tabla.Rows.Add(txtProveedor.Text, txtCliente.Text, txtFecha.Text,
        row.Cells[0].Value.ToString(),
        row.Cells[1].Value.ToString(),
        row.Cells[2].Value.ToString(),
        row.Cells[3].Value.ToString(),
        row.Cells[4].Value.ToString(),
        row.Cells[5].Value.ToString(),
        row.Cells[6].Value.ToString(),
        row.Cells[7].Value.ToString()
    }

);
//iniciamos el visor del reporte y mandamos los datos de la tabla.
ver = new frmVerReporte(ds.Tabla);
ver.Show();
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *