none
GRAFICO CHART CON PARAMETROS RRS feed

  • Pregunta

  • Tengo un Datagridview de la siguiente forma

    Estoy realizando la siguiente consulta para poder generar un grafico

       Public Function cuenta_sistema_año_mes_maquina(ByVal año As Integer, ByVal mes As String, ByVal maquina As String) As DataTable
            Try
                conectado()
                cmd = New SqlCommand("cuenta_sistemas_año_mes_maquina")
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = cnn
                cmd.Parameters.AddWithValue("@año", año)
                cmd.Parameters.AddWithValue("@mes", mes)
                cmd.Parameters.AddWithValue("@maquina", maquina)
    
    
                If cmd.ExecuteNonQuery Then
                    Dim dt As New DataTable
                    Dim da As New SqlDataAdapter(cmd)
                    da.Fill(dt)
                    Return dt
                Else
                    Return Nothing
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
                Return Nothing
            Finally
                desconectado()
            End Try
        End Function

    por lo que envio los parametros de la siguiente forma 

    Private Sub MaquinasxAñoxMes_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles MaquinasxAñoxMes.CellContentClick
                Dim func As New fGraficos
                Dim año As Integer = MaquinasxAñoxMes.CurrentRow.Cells(1).Value
                Dim mes As String = MaquinasxAñoxMes.CurrentRow.Cells(3).Value
                Dim maquina As String = MaquinasxAñoxMes.CurrentRow.Cells(4).Value
                dt2 = func.cuenta_sistema_año_mes_maquina(año, mes, maquina)
                If dt2.Rows.Count <> 0 Then
                    Chart1.DataSource = dt2
                    Chart1.Series("Series1").XValueMember = dt2.Columns("SISTEMA").ToString
                    Chart1.Series("Series1").YValueMembers = dt2.Columns("CUENTA").ToString
                End If
          
    
        End Sub

    Quiero que al hacer click en una fila X, se genere el grafico chart, pero no consigo hacerlo, ya que queda en blanco, pero si pongo el mismo codigo en el evento load y le asigno un valor, si genera el grafico

     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
            mostrar_datos()
            Dim func As New fGraficos
            Dim año As Integer = 2017
            Dim mes As String = "AGOSTO"
            Dim maquina As String = "DB6"
            dt2 = func.cuenta_sistema_año_mes_maquina(año, mes, maquina)
            If dt2.Rows.Count <> 0 Then
                Chart1.DataSource = dt2
                Chart1.Series("Series1").XValueMember = dt2.Columns("SISTEMA").ToString
                Chart1.Series("Series1").YValueMembers = dt2.Columns("CUENTA").ToString
            End If
          
        End Sub
    Porque sucede eso?, ya que lo que quiero conseguir es un grafico dinamico, osea ir cambiandolo en tiempo de ejecucion a la ves que selecciono los valores desde el datagrid

    lunes, 18 de diciembre de 2017 1:56

Respuestas

  • Hola, prueba colocar Chart1.Refresh(), por otro lado fijate que invocas un evento mostrar_datos() solo en el Load, no se si tendrá algo que ver

    Saludos

    • Propuesto como respuesta Juan MondragónModerator lunes, 18 de diciembre de 2017 16:24
    • Marcado como respuesta El_vena martes, 19 de diciembre de 2017 23:11
    lunes, 18 de diciembre de 2017 12:06

Todas las respuestas

  • Tengo un datagrid como la imagen anterior, y estoy realizando la siguiente consulta para generar un gráfico

    Public Function cuenta_sistema_año_mes_maquina(ByVal año As Integer, ByVal mes As String, ByVal maquina As String) As DataTable Try conectado() cmd = New SqlCommand("cuenta_sistemas_año_mes_maquina") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.AddWithValue("@año", año) cmd.Parameters.AddWithValue("@mes", mes) cmd.Parameters.AddWithValue("@maquina", maquina) If cmd.ExecuteNonQuery Then Dim dt As New DataTable Dim da As New SqlDataAdapter(cmd) da.Fill(dt) Return dt Else Return Nothing End If Catch ex As Exception MsgBox(ex.Message) Return Nothing Finally desconectado() End Try End Function

    Por lo que paso los parámetros de la siguiente forma 

    Private Sub MaquinasxAñoxMes_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles MaquinasxAñoxMes.CellContentClick
                Dim func As New fGraficos
                Dim año As Integer = MaquinasxAñoxMes.CurrentRow.Cells(1).Value
                Dim mes As String = MaquinasxAñoxMes.CurrentRow.Cells(3).Value
                Dim maquina As String = MaquinasxAñoxMes.CurrentRow.Cells(4).Value
                dt2 = func.cuenta_sistema_año_mes_maquina(año, mes, maquina)
                If dt2.Rows.Count <> 0 Then
                    Chart1.DataSource = dt2
                    Chart1.Series("Series1").XValueMember = dt2.Columns("SISTEMA").ToString
                    Chart1.Series("Series1").YValueMembers = dt2.Columns("CUENTA").ToString
                End If
          
    
        End Sub

    uiero que al hacer click en una fila X, se genere el grafico chart, pero no consigo hacerlo, ya que queda en blanco, pero si pongo el mismo codigo en el evento load y le asigno un valor, si genera el grafico

     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
            mostrar_datos()
            Dim func As New fGraficos
            Dim año As Integer = 2017
            Dim mes As String = "AGOSTO"
            Dim maquina As String = "DB6"
            dt2 = func.cuenta_sistema_año_mes_maquina(año, mes, maquina)
            If dt2.Rows.Count <> 0 Then
                Chart1.DataSource = dt2
                Chart1.Series("Series1").XValueMember = dt2.Columns("SISTEMA").ToString
                Chart1.Series("Series1").YValueMembers = dt2.Columns("CUENTA").ToString
            End If
          
        End Sub
    Porque sucede eso?, ya que lo que quiero conseguir es un grafico dinamico, osea ir cambiandolo en tiempo de ejecucion a la ves que selecciono los valores desde el datagrid

    Quiero que al hacer click en una fila X, se genere el grafico chart, pero no consigo hacerlo, ya que queda en blanco, pero si pongo el mismo codigo en el evento load y le asigno un valor, si genera el grafico
    • Combinado Enrique M. Montejo sábado, 23 de diciembre de 2017 13:10 Preguntas relacionadas
    lunes, 18 de diciembre de 2017 11:22
  • Hola, prueba colocar Chart1.Refresh(), por otro lado fijate que invocas un evento mostrar_datos() solo en el Load, no se si tendrá algo que ver

    Saludos

    • Propuesto como respuesta Juan MondragónModerator lunes, 18 de diciembre de 2017 16:24
    • Marcado como respuesta El_vena martes, 19 de diciembre de 2017 23:11
    lunes, 18 de diciembre de 2017 12:06
  • Esta consulta está repetida, fijate que te respondí en la original

    Saludos

    lunes, 18 de diciembre de 2017 12:17
  • Hola Marcelo PF

    De acuerdo a tu consulta, te recomiendo ir al siguiente enlace que puede serte de mucha utilidad, puedes crear un informe utilizando ReportViewer.

    https://msdn.microsoft.com/es-es/library/ms252073.aspx

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 18 de diciembre de 2017 17:14
    Moderador
  • Pablo, agradecido por la información, pero.... no soy el de la consulta

    Gracias igual..


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    martes, 19 de diciembre de 2017 10:38