CLR: .Net / Mono / Boo / Otros CLR > C#

 crystal reports, 1 dataset con 2 columnas

<< < (2/2)

streamercrow:
exacto!!!! ya intente varias cosas pero no lo logro... alguien sabe como???
saludos! :guitar:

gabio2:
Está muy fácil...  te explico.. :

1) Crea la estructura de todas las tablas que vayas a usar en DataTables. (De hecho basta llenarlo con registros de una base de datos y automáticamente crea la estructura por tí, o puedes defirnila manualmente).

2) Llena un DataSet con TODOS tus Datatables que ya haz 'configurado'.

3) Crea un esquema XML de ese DataSet.. ¿como? http://msdn.microsoft.com/es-es/library/system.data.dataset.writexml%28VS.80%29.aspx


--- Código: C# ---//Esta linea te sirve apra crear el esquema xml, solo se necesita hacer UNA VEZ luego que tengas el esquema puedes comentar está linea.. TuDataSet.WriteXml("C:\\ejemplo.xml",XmlWriteMode.WriteSchema); 
4) Ahora solo tienes que importar ese archivo xml en tu reporte..  ¿como? fácil creas un nuevo reporte, una vez en el reporte te vas a tú Explorador de campos, luego en donde dice "Campos de base de datos", das clic derecho y seleccionas Asistente de Base de datos, luego donde dice "Crear nueva conexión" seleccionas Archivos de base de datos al seleccionarlo te debe abrir una ventana en la cual vas a ubicar tu esquema XML que acabas de crear, luego le das clic en Abrir.. y verás como tu DataSet aparecerá en la pantalla, entonces sólo tienes que seleccionar las tablas que vas a utilizar y pasarlas donde dice "Tablas seleccionas".. y listo.. :D das clic en aceptar y tus tablas aparecerán en tú Explorador de campos..

5)Ahora cuando vayas a llamar a tu reporte desde tú código obviamente tienes que llenar tus datatables con datos y luego agregarlos a tú DataSet...

6) El objeto que crees de tu reporte se debes pasar un DataSource, tu DataSource deberá ser tu DataSet.. ejemplo:


--- Código: C# ---   Reportes.CrystalReports.ReporteMateriales rpt = new Reportes.CrystalReports.ReporteMateriales();            rpt.SetDataSource(DSMateriales); //DSMateriales es mi DataSet. 

Espero te sirva ... :)... saludos

streamercrow:
Muchas gracias por responder gabio2!!! mas o menos comprendo lo que dices pero tengo dudas en el paso 5, como lleno los datatables?
disculpa si la pregunta es tonta, soy muy novato :losiento:. como especifico en que datatable se va a llenar?

y al crear el esquema xml la linea donde la pongo? en un nuevo archivo de codigo.cs o como?

nuevamente me disculpo por mi total ignorancia respecto al tema.

te cuento que tambien encontre esto:http://ltuttini.blogspot.com/2009/12/c-crystal-reports-usar-dataset-tipado.html ahora mismo no puedo probar porque estoy fuera pero en cuanto pueda lo pruebo y te comento como me fue.

Nota:utilizo ADO.NET. :nosweat:

Saludos!! :smartass:

gabio2:
Ese link que me enviaste es correcto, esa es una forma de llenar tu DataTable.. :)... por cierto en la linea donde creas el XML pones un punto de interrupción, ya que despues que pase el punto tienes que darle STOP a tú aplicación para cargar el xml en el reporte.. y seguir haciendo los pasos que te dije.. luego puedes COMENTAR esa linea de codigo.. YA NO LA VAS A AVOLVER A UTILIZAR.. si no lo quitas tampoco pasa nada pero te va a estar generando UNA y OTRA vez el XML sin sentido alguno.. el XML que te crea Puede o NO tener datos, ya que el Crystal Reports toma  sólo la Estructura de tus tablas.. espero hayas entendido un poco la "lógica" de lo que te acabo de decir.. en caso contrario puedes seguir preguntando. :D

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa