Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir columnas seleccionadas de un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=15010)

jdangosto 07-10-2004 09:00:20

Imprimir columnas seleccionadas de un DBGrid
 
Buenas, estoy intentado imprimir las columnas seleccionadas de un dbgrid. Lo he intentado con un módulo que me baje llamada queryprint, pero lo imprime entero. También lo he intentado con el PrintDialog implementando el siguiente código:

printdialog1.Execute;
printdialog1.Assign(dbgrid1.SelectedField);


Al compilarlo no me da error, pero cuando lo intento ejecutar me devuelve el siguiente error: Cannot assign a TstringField to a PrintDialog.

¿Cómo puedo solucionar esto?

Desde ya gracias.

Neftali [Germán.Estévez] 07-10-2004 12:20:12

Cita:

Empezado por jdangosto
...También lo he intentado con el PrintDialog implementando el siguiente código...
printdialog1.Execute;
printdialog1.Assign(dbgrid1.SelectedField);
....

PrintDialog tiene que ver con impresión y SelectedField tiene que ver con la columna seleccionada, pero ésto que has hecho es como:
"...Para freir un huevo se necesita una sarten y un huevo;... sarten, huevo, sarten, huevo,... Pongo la sarten en el suelo, pongo el huevo al lado y a ver si se frie.... MORALEJA: Tienes el huevo y la sartén, pero no se frie sólo, o lo que es lo mismo, tienes PrintDialog y SelectedField, pero no se va a imprimir sólo...."

Cita:

Empezado por jdangosto
...estoy intentado imprimir las columnas seleccionadas de un dbgrid....

¿Qué tipo de Generador de Reports estás utilizando?
¿Quieres exportarlo?
¿Cómo has creado el report? ¿Un report diferente para cada columna?

Lo que haría yo sería lo siguiente:

(1) Montar una consulta nueva (TQuery) utilizando la misma tabla que tienes en el Grid, pero sólo con una columna; La columna te la dará SelectedField; Algio así:

Código Delphi [-]
Str := SELECT ' + DBGridRAL1.SelectedField.FieldName + ' FROM Tabla

Ésto te dará una consulta sobre la tabla, pero sólo con el campo seleccionado; Ésto es lo que debes utilizar para generar el listado con el generador que estés utilizando.
Tal vez no uses ningun Generador de Reports, ahora se me ocurre que en ese caso puedes grabar la salida a un fichero y luego mandarlo a imprimir; Recorre la consulta anterior, vuelca el resultado a un TStrings, luego lo grabas a disco con SaveToFile y luego lo imprimes (con ShellExecute, por ejemplo).


Pero es que sin más información... ...difícil...


La franja horaria es GMT +2. Ahora son las 05:35:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi