PDA

Ver la Versión Completa : Imprimir un DBGrid


joseph183
06-12-2015, 05:15:45
hola de paso bueno dire que ando medio perdido pero esto no me quedo claro al imprimir dbgrid quiero que se imprima en un hoja digamos ya membretada horizontalmente y que queden las rayas de la tabla no se le pueda agregar al dbgrid el código es este


procedure TForm2.Button1Click(Sender: TObject);
var
x,i:Integer;
begin
Printer.BeginDoc;
x:=DBGrid1.DataSource.DataSet.RecordCount;

for i := 1 to x do
begin
Printer.Canvas.TextOut(30,(i*2)+30,DBGrid1.DataSource.DataSet.FieldByName('Nombre').AsString+' '+
DBGrid1.DataSource.DataSet.FieldByName('apellidos').AsString+' '+DBGrid1.DataSource.DataSet.FieldByName('Hora/e').AsString);
DBGrid1.datasource.DataSet.Next;
end;

printer.EndDoc;
showmessage('Impresión terminada');
end;

y bueno en los printed me falta agregar lo demás h/e, h/s y anexo como le pongo un limitador al dbgrid que solo me aparezca no se minimo 1 registro y máximo 50, o menos ya que la impresión no se bien cuantas líneas de usuarios se puedan imprimir calculo no se 20 u 30 registros ya que no olvidar que la hoja le pueda poner algún membrete, además en la parte de abajo del dbgrid poner una flechitas o next page, y return page o es asi return page next page espero entenderme, vale gracias :rolleyes: :rolleyes:

ecfisa
06-12-2015, 11:36:19
Hola joseph183, bienvenido a los foros de Club Delphi :)

Ya las agregué a tu mensaje. Pero por favor, cuando publiques código, usa las etiquetas para darle mas legibilidad:

http://sia1.subirimagenes.net/img/2014/09/12/140912092124532033.jpg

También moví este mensaje como nuevo tema por que no tenía relación con el inicial (http://www.clubdelphi.com/foros/showthread.php?t=89521) ( Recuerda: una pregunta = un hilo )

Saludos :)

joseph183
18-12-2015, 04:22:20
Hola buenas noches gracias por mover el hilo te agradezco y como comentario ya encontré la manera mas eficaz de hacer una impresión de un dbgrid y es tan sencilla y podemos editarlo con cabecera y pie mas empresarial.

suponiendo que ya tenemos nuestra aplicación y muestra los resultados en un dbgrid y queremos imprimir ese reporte lógicamente esta almacenado en una base de datos llamado ej. "dbreportes", así que esto lo hice en Delphi Rad studio 10 Seattle , nos vamos a vuestro form donde esta el dbgrid y añadir un ADOTable1 y en sus propiedades " Connection" poner en este ejemplo con "ADOConnection1", y ahi mismop en sus propiedades buscar el "TableName" ahi pulsar y buscamos vuestra base que se llama "dbreportes" esto lo que hicimos es hacer directamente la conexión con dicha base y solo queremos la información de esa tabla así que seguimos, en el form en Tool Palette buscamos FastReport 5.0 de ahi añadimos a vuestra form, el objeto frxDBDataset1 y en las propiedades DataSet conectamos con ADOTable1 y ahi mismo en BCDToCurrency marcamos como True ahora del FastReport 5.0 añadimos el frxReport1 en sus propiedades DataSet conectamos con frxDBDataset1, ahora en FastREport 5.0 export agregamos a vuestra form la herramienta frxPDFExport1 est nos sirve para que se exporte nuestro documento a pdf y la herramienta frxHTMLExport1 si queremos exportar a HTML ahi vemos en esa herrmaienta a cuantos formatos queramos que se pueda exportar vuestro documento, así que aclarado esto seguimos damos double clic a frxReport1 y nos saldrá una pantalla de diseño como hoja de word pero cuadriculada y vacía ahora solo con darle clic en file NEw nos saldrá un recuadro ahi escogemos frxDBDataset1 y damos en siguiente ahi vemos el estilo que queramos si cilíndrico o normal y ya lo demás es a decisión de diseño cualquier duda aquí díganlo este es para uno podemos hacerlo para muchos mas reportes individuales o en cadena ahi es vuestra imaginación .....