20 diciembre 2006

Vista Preeliminar con C#

En ciertas ocasiones nuestro programa debe enviar por impresora información ya sea de una base de datos o de algun documento plano, pero entonces nos topamos con los diseñadores de reportes (cristal report) por llamarlo asi, pero que sucede cuando no lo tenemos a la mano, pues aqui planteo una forma interesante de enviar un archivo XML a vista preeliminar y claro desde aqui ya podemos imprimir, que es lo que se necesita:

Con este pequeño codigo es mas que suficiente

using System.Xml; //Con esto trataremos los objetos para XML
using System.Xml.Xsl;

Ahora el codigo de la función

XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("s.xsl"); //Archivo con el que le daremos forma a nuestro archivo XML

//Aqui le aplicamos la transformación y lo guardamos como archivo HTML
xslt.Transform("Miarchivo.xml", "informe.html");

//Con un control webBrowser (disponible en el framework .NET 2.x ) insertado en nuestro form
//Cargamos el archivo HTML creado

web.Navigate(new Uri(Environment.CurrentDirectory + "file://informe.html/"));

//Ahora solo llamamos al metodo PrintPreviewDialog y listo

web.ShowPrintPreviewDialog();

Figura(1) Este es el control a insertar


Figgura(2) Asi es como saldria nuestra ventana con vista preeliminar


No hay comentarios.: