![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
resultados en qreport
Hola Lepe, gracias por tu ayuda, pero creo que lo que yo quiero es que los analisis salgan en posicion horizontal, no vertical.
Creo que ya logre solucionarlo, al menos en la primera linea de los resultados. Lo que me hacia era que el ultimo campo, al momento de pasar al siguiente registro, me lo bajaba a la siguiente linea, por lo tanto se traslapaba con el primer resultado de la posicion. Lo que hice es que al final de recorrer los campos de la tabla, genero un label en blanco, nada mas lo creo y ya. por lo que veo, es que si el ultimo label se baja, como no tiene nada de datos, aunque se traslape, pues no se verá. Necesito que me digan si esta bien la solucion o existe otra mas facil(ya se que me han dicho otras cosas). les anexo las imagenes para que las chequen como quedó, y vean las anteriores para que comparen. Ahora lo que necesito es que las labels de los resultados queden abajo de los nombre de los analisis. Gracias Cómo te sientes hoy? |
|
#2
|
||||
|
||||
|
Cita:
. Realmente el qrcreateList, te haría exactamente lo que deseas. Posición titulo, elasticidad y debajo los resultados, pero tendrías que añadir a mano los datos de solicitante y el resto del encabezado. Si ya tienes casi todo hecho, continúa así campeón .Para hacer lo que quieres, al crear los labels de los analisis (Posicion titulo), yo guardaría un array of record, y en cada record, guardaría el top, left, y width de cada uno de los labels. Cuando creas los labels para los resultados: - Creas el label - le pones autosize a false, Alignment según corresponda, para que quede alineado a la derecha los números y lo que sea texto alineado a la izq. - Lees de ese array donde estas y le pones el top, left y width que corresponda segun la columna. Tendrás un problema añadido, y es que si un label tiene 60 pixels de ancho y el dato no cabe, tendrás que controlar cómo lo haces. Ahora no recuerdo, creo que QR tiene una propiedad adicional, si no cabe el texto creo que se puede truncar el ancho, o bien dejar que se solapen. (¿autosize? u ¿otra propiedad?) Por supuesto no traspasarás el margen derecho del folio, y si se van a mostrar más columnas de las que caben, poner en apaisado el informe, esto quizás no te guste, pero no hay más remedio. No puedo comentar si te has complicado mucho o no, ya que no veo codigo fuente, solo las imagenes . Pero si lo necesitas, se hace y punto.saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#3
|
||||
|
||||
|
Pues eso
. no podría explicarlo mejor.A darle duro a la mollera, que aunque salga humo no se quema ! Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#4
|
|||
|
|||
|
Hola!!!
Muchas gracias por su tiempo y por leer estos mensajes. oigan, una pregunta, a que se refieren con el apaisado?? Lo que estaba pensando hacer para que queden los resultados abajo del titulo de los analisis, es como dicen anteriormente, guardar en un arreglo, solamente el left y el width, pero me gustaria dividir el width/2, asi siempre quedaa a la mitad de cada titulo, no creen? les anexo el codigo por si quiere hecharle una ojedada, creo que se puede reducir un poco.
De antemano les agradezco su tiempo y su atencion. Cómo te sientes hoy?? |
|
#5
|
||||
|
||||
|
Hola que tal,
yo cambiaría de estrategia. Crearia una query en tiempo de ejecucion para mostrar los datos, generandola dependiendo del tipo de prueba que se haya realizado. Por ejemplo Creas la TQuery o ya la tienes creada Código:
QueryListado.Clear;
QueryListado.Add('SELECT POSICION');
Bucle que incluye los campos que tienes incluir, ya sabes, que tenga el valor 'o 'y no 'x'
// Por cada analisis que quieres incluir
QueryListado.Add(', AnalisisCorrespondiente');
fin del bucle
QueryListado.Add('FROM TABLA WHERE TIPO=:PTipo AND FOLIO=:PFolio ');
QueryListado.Params.ParamByName('PTipo').Value:= form_opcion.label1.Caption[1]; // lo que sea
QueryListado.Params.ParamByName('PFolio').Value:= form_opcion.label1.caption // lo que sea
Y aqui llama a la funcion Generar Listado del código que te pasé
GenerarListado(True, QueryListado, '','','');
Para comprobar si lo que ves es lo que necesitas, mientras depuras el código de la generación pones un DBGrid en el formulario y ves el resultado. Ya me contarás, lo que es la presentación te la hace completa. No he probado nunca la funcion qrCreateList que comenta Lepe, pero también parece una solución buena. Espero que lo entiendas. No he podido responder antes por que estoy un poco liado, ya sabes, hay que ganarse el pan... Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#6
|
|||
|
|||
|
oK fjcg02, creo que seria buena idea, aparte de que seria un poco mas rapido si utilizo querys, lo voy a probar y despues les digo como me fue.
Con lo de reporte, todavia no me queda, tengo problemas para que me añada paginas nuevas, ya utilize el compositereport, pero no me respeta las paginas, si tengo 2, cuando hago el preview, me dice que tengo 2 paginas, pero cuando lo imprimo, me sale en una sola, o me sale en una pagina todo los datos del reporte 1 y parte del reporte 2 y en la segunda pagina, me sale el resto del reporte2. He estado leyendo acerca del qreport, tengo el ForceNewPage = True, pero dicen que cuando es la primera pagina, el qreport por defecto lo omite o no le hace caso, y vienen ejemplos de como hacerle, pero no le encuentro me siguen marcando error, en este momento no tengo a la mano esas respuestas o preguntas, pero las voy a traer al trabajo y se las mando para ver si alguien logra hacerlo. porque yo nomas no =(. Gracias. |
|
#7
|
||||
|
||||
|
David,
tras leer de nuevo con detenimiento el hilo, me he dado cuenta de que bajo mi punto de vista, tienes un error de concepto. Creo que intentas mostar los datos como si estuvieras escribiendo en un folio en blanco. El qreport, te permite crear una banda de datos, que repite automáticamente por cada registro de datos que tiene el origen de los datos que le asignas. Por ejemplo, si tienes una tabla con 5 registros, te repetirá la banda 5 veces. Si la tabla tiene 100 registros, te repite la banda 100 veces. Si el origen es una query, te repite la banda tantas veces como registros devuelve la misma. Comprueba que tu reporte tiene una banda de titulos, y otra de datos, así como asegurarte de que el origen de los datos de tu report es la tabla que contiene los datos. Si para imprimir los datos, se necesitan 15 páginas, las crea automáticamente. En los ejemplos del Qreport, tienes ejemplos claros de qué puedes conseguir. Tu problema se reducirá a saber qué campos tienes que visualizar dependiendo del tipo de pruebas que realices; los campos que tengas que poner a '-----' los pones en la función beforeprint del mismo. Si el valor es 0, cambias el valor a '-----'. Vuelve a mirar tanto el código de Lepe y el mío, la solución te la hemos proporcionado ya en este mismo hilo. Suerte y un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|