FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DBGrid en tiempo de ejecución
Hola, estoy intentando utilizar un DBChart con un TDataSource y TOraQuery pero necesito rellenar en tiempo de ejecución. Es decir, el DataSource y el OraQuery son definidos en ejecución:
with OraQuery2 do try Close; SQL.Text := 'SELECT * FROM LINEA_PEDIDO'; Open; DataSource2.DataSet := OraQuery2; DBGrid2.DataSource := DataSource2; finally; ShowMessage('ok lineas de pedido!'); end; Todo ello me funciona, es decir veo los datos en el DBGrid. Pero ahora como defino las propiedades del DBChart? Por ejemplo el título ya lo he conseguido--> DBChart2.Title.Text.CommaText:='Lineas de pedidos'; Pero ahora necesito definir: -las series: -definir el tipo de serie: -definir que columna va a ir en el eje x: -definir que columna va a ir en el eje y: -definir que va a ir en el label: ¿Alguien me puede ayudar diciendome cual es el códido? ¿Conoceis algún tutorial o algo parecido para DBChart? He intentado buscar y a su vez, he estado leyendo la ayuda de delphi, pero la verdad que no me ha servido demasiado. Muchar gracias. iga |
#2
|
|||
|
|||
Hola iga
Tu pregunta es la misma que yo hiciera en otro momento, y la línea de código para cambiar el título de un DBChart me resultaría útil, porque yo mismo me preguntaba acerca de esto mismo. En mi caso, no encontré las propiedades o métodos a partir de los cuales se acceden a las "partes" de un DBChart : título de gráfico, títulos de series, de ejes, datos numéricos para las series, etc. Pero encontre otras alternativas que me ayudaron a resolver mi caso: EN primer lugar, tengo Borland Delphi 5.0 enterprise En segundo lugar, uso un TQRChart dentro de un TQuickRep (objeto informe) La asignacion de las series de datos para graficar varias líneas en un sistema de coordenadas X-Y, la he hecho en tiempo de diseño; no he encontrado aún algún método o propiedad que me permita hacerlo durante tiempo de ejecución. Y HE COMPROBADO que en tiempo de diseño se pueden usar solamente TTables de un modulo de datos compartido para elegir sus campos como series de gráfico. De todas formas, he fabricado una tabla TTable (en un módulo público) que está vacía y tiene los campos que necesito para graficar: Por ejemplo, los campos de esta TTable vacía son serie eje X, 1era serie eje y, 2nda serie eje Y, 3era serie eje Y, etc,..; y cada campo puede venir de diferentes tablas. La tabla vacía la lleno con un consulta de parámetros TQuery, que se ejecuta en tiempo de ejecución con unas líneas en su propiedad SQL: ACLARO que antes de llenar la tabla, uso una instrucción para vaciarla totalmente de registros, y evitar que me entren en el gráfico datos pertenecientes a consultas anteriores. Entonces, empieza a llenarse desde "cero" registros. Y esta misma consulta TQuery es la que asigné desde un primer momento a la propiedad "dataSet" (tiempo diseño) del TQuickRep que contiene al TQRChart. Que embrollo!!! Esto es para leerlo despacio y detenidamente Con respecto al título: como mi TQRChart está dentro de un TQuickRep, quito definitivamente el título de la gráfica y lo reemplazo por un objeto TQRLabel (para informes), cuya propiedad "Caption" puede ser cambiada en tiempo de ejecución, de distintas maneras. Espero esté suficientemente claro, y que mi idea te pueda servir de algo. Saludos! |
#3
|
|||
|
|||
Hola iga
Tu pregunta es la misma que yo hiciera en otro momento, y la línea de código para cambiar el título de un DBChart me resultaría útil, porque yo mismo me preguntaba acerca de esto mismo. En mi caso, no encontré las propiedades o métodos a partir de los cuales se acceden a las "partes" de un DBChart : título de gráfico, títulos de series, de ejes, datos numéricos para las series, etc. Pero encontre otras alternativas que me ayudaron a resolver mi caso: EN primer lugar, tengo Borland Delphi 5.0 enterprise En segundo lugar, uso un TQRChart dentro de un TQuickRep (objeto informe) La asignacion de las series de datos para graficar varias líneas en un sistema de coordenadas X-Y, la he hecho en tiempo de diseño; no he encontrado aún algún método o propiedad que me permita hacerlo durante tiempo de ejecución. Y HE COMPROBADO que en tiempo de diseño se pueden usar solamente TTables de un modulo de datos compartido para elegir sus campos como series de gráfico. De todas formas, he fabricado una tabla TTable (en un módulo público) que está vacía y tiene los campos que necesito para graficar: Por ejemplo, los campos de esta TTable vacía son serie eje X, 1era serie eje y, 2nda serie eje Y, 3era serie eje Y, etc,..; y cada campo puede venir de diferentes tablas. La tabla vacía la lleno con un consulta de parámetros TQuery, que se ejecuta en tiempo de ejecución con unas líneas en su propiedad SQL: ACLARO que antes de llenar la tabla, uso una instrucción para vaciarla totalmente de registros, y evitar que me entren en el gráfico datos pertenecientes a consultas anteriores. Entonces, empieza a llenarse desde "cero" registros. Y esta misma consulta TQuery es la que asigné desde un primer momento a la propiedad "dataSet" (tiempo diseño) del TQuickRep que contiene al TQRChart. Que embrollo!!! Esto es para leerlo despacio y detenidamente Con respecto al título: como mi TQRChart está dentro de un TQuickRep, quito definitivamente el título de la gráfica y lo reemplazo por un objeto TQRLabel (para informes), cuya propiedad "Caption" puede ser cambiada en tiempo de ejecución, de distintas maneras. Espero esté suficientemente claro, y que mi idea te pueda servir de algo. Saludos! |
#4
|
|||
|
|||
Gracias!
Gracias por coger tiempo y par escribir todos los pasos, he leido y lo voy a intentar, pero yo tengo que utilizar otros componentes! ¡Espero que me sirva!
Muchisimas gracias! |
#5
|
||||
|
||||
iga: Al menos tienes 3 o cuatro hilos hablando del mismo tema, es imposible seguir las evoluciones, te recomiendo encarecidamente que leas la guía de estilo.
En uno de ellos te he puesto un ejemplo de como empezar. Según he visto por encima, todo se puede hacer por código delphi. Yo al menos, no voy a mirar todos los hilos para ver las evoluciones, ya es complejo de por sí, con un solo hilo. Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
Gracias, y perdona!
Hola lepe, perdona por abrir más de un tema. No era mi intención crear confusiones o molestias para aquellos que estais intentando ayudarnos.
De verdad, te agradezco que me hayas respondido y me hayas invitado a leer e la "guia de estilo". Ya me lo he leido e intentaré cumplir las normas! Muchas gracias. iga |
#7
|
||||
|
||||
Gracias a tí, aquí estamos todos para ayudarnos los unos a los otros.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Modificar campos en un DBGrid en tiempo de ejecuciòn | maravert | Conexión con bases de datos | 3 | 14-05-2006 08:37:41 |
Columnas de DBGrid en tiempo de ejecución | dape | Varios | 1 | 17-03-2005 03:57:31 |
Crear Columna en un DBGRid en tiempo de ejecucion | muli | Conexión con bases de datos | 1 | 03-03-2005 08:30:40 |
Problema con DBGRiD y campos en Tiempo de ejecución | EITB | OOP | 0 | 14-10-2004 17:59:17 |
Eliminar columna(DbGrid) en tiempo de ejecucion | bestiux | Conexión con bases de datos | 5 | 08-06-2004 18:06:44 |
|