none
Problema al crear grafico chart de un datagridview RRS feed

  • Pregunta

  • Podria resultar curioso no poder graficar el datagridview y la razon es porque este datagridview no tiene datos en tabla sql. Es un datagridview generado desde otro datagridview.

    Es decir solo tengo una vista sql y 5 datagridview en form. El primer datagridv ese si es cargado como lo normal de la tabla vista. Los demas dgv son generados en base al primero dgv y x cada dgv generado se espera su grafico. Por tanto solo he logrado de un dgv obtener sus graficos pero no de otros.

    Y justamente esos dos tienen un codigo similar apesar que se le a puesto un dim dt as new datatable no permite. Si le coloco el codigo grafico el contenido de los demas dgv se borra.

    Espero puedan ayudarme.

    viernes, 30 de marzo de 2018 22:21

Respuestas

  • Bueno es muy extraño ya lo e solucionado el problema a sido el control chart al parecer estaba bloqueado o algo lo borre y lo cambie por otro y ya salio normal.

    Disculpen la molestia.

    • Marcado como respuesta Javier Roque sábado, 31 de marzo de 2018 15:30
    sábado, 31 de marzo de 2018 15:30

Todas las respuestas

  • El codigo con el cual cargo el dgv1 es:

    Private Sub CargarTiempos()
            'DGV1
            Using cnx As New SqlConnection(ConfigurationManager.ConnectionStrings("cnxString").ToString())
                oCommandBuilder = New SqlCommandBuilder(Me.oDataAdapter)
                oDataAdapter = New SqlDataAdapter("Select * from VTablaTiempos ORDER BY Id", cnx)
                oDataTable = New DataTable
                oDataAdapter.Fill(oDataTable)
                dgvTiempos.DataSource = oDataTable
                'dgvTiempos.Columns("Conforme").Visible = False
            End Using
        End Sub

    Luego genero el dgv2 llamado dgvSolicitud para realizar un conteo:

    Private Sub dgvTiempos_DataBindingComplete(sender As Object, e As DataGridViewBindingCompleteEventArgs) Handles dgvTiempos.DataBindingComplete
            Dim oDataTable = DirectCast(DirectCast(sender, DataGridView).DataSource, DataTable).DefaultView().ToTable()
    
            'DGV2 - Solicitud
            Dim dt1 As New DataTable
    
            dt1.Columns.Add("Cliente", GetType(String))
            dt1.Columns.Add("Cuenta", GetType(Int32))
    
            For Each item In DirectCast(DirectCast(sender, DataGridView).DataSource, DataTable).
                    DefaultView().ToTable().AsEnumerable().
                    GroupBy(Function(c) c.Field(Of String)("Cliente")).
                    Select(Function(c) New With {.Cliente = c.Key, .Cuenta = c.Count()}).ToList()
                dt1.Rows.Add(item.Cliente, item.Cuenta)
            Next
    
            dgvSolicitud.DataSource = dt1
            SumarColSoli()
    
            'Grafico1
           
    
    
            '************************************************
    
            'DGV3 - Tramite
            'resto de codigo demas dgv
    End Sub


    Entonces deseo graficar usando el dt1 que le corresponde (negrita) haciendo algo asi:

    'Grafico1
            Gsolicitud.Series(0).Points.Clear()
            Gsolicitud.Series(0).ChartType = SeriesChartType.Column
            Gsolicitud.Series(0).IsValueShownAsLabel = True
            Gsolicitud.DataSource = dt1
            ' se definen los miembros de series para valores X , Y
            Gsolicitud.Series(0).XValueMember = "Cliente"
            Gsolicitud.Series(0).YValueMembers = "Cuenta"
            'se bindea los datos de la fuente de datos seleccionadato the selected data source
            Gsolicitud.DataBind()

    Pero al ejecutar me borra el resto de dgvs entonces como lograr el grafico? y no sale ningún grafico

    Saludos


    sábado, 31 de marzo de 2018 1:02
  • Bueno es muy extraño ya lo e solucionado el problema a sido el control chart al parecer estaba bloqueado o algo lo borre y lo cambie por otro y ya salio normal.

    Disculpen la molestia.

    • Marcado como respuesta Javier Roque sábado, 31 de marzo de 2018 15:30
    sábado, 31 de marzo de 2018 15:30