none
Actualizar CHART con datos nuevos RRS feed

  • Pregunta

  • Hola muy buenas,

    Tengo una base de datos en Acces de la cual saco un CHART "grafico de barras". Hasta aquí todo bien.

    El problemas es cuando modifico algún valor de la base de datos, el chart no se me actualiza a los nuevos valore de la base de datos. Siempre se queda con los valores iniciales.

    Como puedo hacer para actualizar el CHART cada vez que añada o modifique valores de la base de datos??????

    Gracias de antemano!!!!

    Saludos.

    • Cambiado Enrique M. Montejo domingo, 25 de diciembre de 2016 9:47 Pregunta relacionada con controles de Windows Forms.
    domingo, 18 de diciembre de 2016 22:25

Todas las respuestas

  • Hola:

    El gráfico lo tienes en el mismo form desde donde actualizas la base de datos?.

    Si es así, en el propio botón donde actualizas, cierras el chart y lo vuelves a abrir, es decir lo recargas.

    Si no es así, amplía la explicación del problema para saber por donde vamos.

    Un saludo.

    Gemma

    lunes, 19 de diciembre de 2016 6:34
  • Hola:

    El gráfico lo tienes en el mismo form desde donde actualizas la base de datos?.

    Si es así, en el propio botón donde actualizas, cierras el chart y lo vuelves a abrir, es decir lo recargas.

    Si no es así, amplía la explicación del problema para saber por donde vamos.

    Un saludo.

    Gemma

    Hola,

    Si, el chart esta en el mismo form que introduzco los datos y actualizo.

    Lo que no se como cerrar y abrir nuevamente el chart (como tu comentas anteriormente) para que se carguen los nuevos datos introducidos a la base de datos. 

    Por favor puedes mostrarmelo???

    Muchas gracias :)

    lunes, 19 de diciembre de 2016 17:12
  • Hola Fran:

    Puede utilizar los métodos del Chart.

    Por ejemplo, si quieres cambiar el titulo (es un ejemplo) ya que si no tienes que cambiar nada, vuélvelo a cargas únicamente.

     Chart1.Titles.Clear

    Ta te digo que es a modo de ejemplo, si no necesitas nada de eso, simplemente lo vuelves a recargar.

    Ese proceso lo realizas cuando hagas la select para volver a mostrar los datos que has cambiado. Una vez hecha, cargas el chart y ya está. Lo cargas con el nombre del método que lo rellenas. Por ejemplo

    Private sub CargaGráficos())

    entonces le pondrías después de la select donde muestras los datos: Call CargaGráficos.

    Un saludo.

    Gemma

    • Propuesto como respuesta Joyce_AC lunes, 19 de diciembre de 2016 17:58
    • Votado como útil Joyce_AC lunes, 19 de diciembre de 2016 19:51
    lunes, 19 de diciembre de 2016 17:34
  • Hola Fran:

    Puede utilizar los métodos del Chart.

    Por ejemplo, si quieres cambiar el titulo (es un ejemplo) ya que si no tienes que cambiar nada, vuélvelo a cargas únicamente.

     Chart1.Titles.Clear

    Ta te digo que es a modo de ejemplo, si no necesitas nada de eso, simplemente lo vuelves a recargar.

    Ese proceso lo realizas cuando hagas la select para volver a mostrar los datos que has cambiado. Una vez hecha, cargas el chart y ya está. Lo cargas con el nombre del método que lo rellenas. Por ejemplo

    Private sub CargaGráficos())

    entonces le pondrías después de la select donde muestras los datos: Call CargaGráficos.

    Un saludo.

    Gemma

    Hola,

    Pues la verdad es que no cargo los datos al chart como tu dices jaja

    Yo hago en propiedades del CHART:

    DataSource -> vinculo al BindingSource correspondiente

    Series -> Añado los valores para los ejes XValueMember / YValueMember

    No hago nada mas...

    Lo que he probado poner el chart en un nuevo form y abrir este form después de actualizar la base de datos, entonces el chart si que aparece con los valores actualizados. Pero yo quiero tenerlo todo en el mismo form y al actualizar los datos que el chart tambien se actualice.

    Espero que me puedas ayudar.

    Gracias!! :)

    lunes, 19 de diciembre de 2016 18:19
  • Fran ya perdió el interés en esta respuesta. Y yo también.

    En serio nadie puede ayudarme a resolver esta duda... ????

    Gacias!

    miércoles, 21 de diciembre de 2016 19:07
  • Hola puedes indicar como estas cargando el char, asumo que lo tienes en un rdlc, lo cargas con un dataset, si tienes un codigo algo asi

    reportViewer1.LocalReport.DataSources.Clear()
    Dim dataSourceChart As New ReportDataSource("Chart", ObtenerDatos())
    reportViewer1.LocalReport.DataSources.Add(dataSourceChart)
    reportViewer1.LocalReport.ReportPath = Path.Combine(Application.StartupPath, "MiChart.rdlc")
    reportViewer1.RefreshReport()
    la línea clave para hacer un refresh al datasource es la marcada en negrita,


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.



    • Editado Augusto1982 jueves, 22 de diciembre de 2016 2:06
    • Propuesto como respuesta Joyce_AC martes, 27 de diciembre de 2016 18:10
    jueves, 22 de diciembre de 2016 2:05