IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

méthode lecture datagridview


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Points : 27
    Points
    27
    Par défaut méthode lecture datagridview
    Bonjour,

    Est il possible de lire d'un seul coup un datagridview ? (au lieu de boucler...)
    en fait mon je souhaiterais tracer un graph (avec Chart) avec les données du dataGridView qui evolue dans le temps.

    Exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
            'Test pour alimenter le datagridview
            For i As Integer = 1 To 10
                With Me.DataGridView1
                    .ColumnCount = 2
                    .Columns(0).Name = "x"
                    .Columns(1).Name = "y"
                    .Rows.Add(10 + i, 50 + i)
                End With
            Next
     
            'Lier le chart  au DgV :
            Me.Chart1.DataSource = Me.DataGridView1 ' --> ici je bloque
            Me.Chart1.Series(0).YValueMembers = "y"
            Me.Chart1.DataBind()
    MErci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour,
    peut être un début de piste, récupérer les données du Dgv dans une DataTable que l'on lie au Chart ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            Dim dt As New DataTable()
            dt.Columns.Add("x", GetType(Integer))
            dt.Columns.Add("y", GetType(Integer))
     
            For Each dgvR As DataGridViewRow In DataGridView1.Rows
                dt.Rows.Add(dgvR.Cells(0).Value, dgvR.Cells(1).Value)
            Next
            Me.Chart1.DataSource = dt

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Points : 27
    Points
    27
    Par défaut
    Merci pour ta réponse je me suis servi de ta boucle.

    du coup je stocke mes coordonées avec le for each....

    j'ai la fonction update qui met a jour a chaque ajout de donnée, et la fonction FillWithDataGridView qui remplit une fois le dataGridview plein.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Imports System.Windows.Forms.DataVisualization.Charting
    Public Class GraphUpdate
        Const emptyRowsInDGV As Integer = 2
        Public Structure coordonnees
            Dim xValue() As Double
            Dim yValue() As Double
            Public Sub Initialize()
                Dim myForm As Form2
                myForm = Form2
                ReDim xValue(myForm.DataGridView1.Rows.Count - emptyRowsInDGV)
                ReDim yValue(myForm.DataGridView1.Rows.Count - emptyRowsInDGV)
            End Sub
        End Structure
     
        Public Function UpdateGraph(ByVal serieName As String)
            Dim myForm As Form2
            myForm = Form2
            With myForm
                .Chart1.Series(serieName).Points.AddXY(CDbl(Val(.DataGridView1.Item(0, .DataGridView1.RowCount - emptyRowsInDGV).Value)), CDbl(Val(.DataGridView1.Item(1, .DataGridView1.RowCount - emptyRowsInDGV).Value)))
            End With
     
        End Function
        Public Function FillWithDataGridView(ByVal serieName As String)
            Dim myForm As Form2
            myForm = Form2
            Dim donneesGraph As coordonnees
            donneesGraph.Initialize()
     
            For Each row As DataGridViewRow In myForm.DataGridView1.Rows
                If Not row.IsNewRow Then
                    If row.Cells(0).Value.ToString <> "" Then
                        donneesGraph.xValue(row.Index) = CDbl(row.Cells(0).Value.ToString)
                        donneesGraph.yValue(row.Index) = CDbl(row.Cells(1).Value.ToString)
                    End If
                End If
            Next
            myForm.Chart1.Series(serieName).ChartType = SeriesChartType.FastLine
            myForm.Chart1.Series(serieName).Points.DataBindXY(donneesGraph.xValue, donneesGraph.yValue)
     
        End Function
    end class
    et j'apelle pour pour tester comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim oGraphique As New GraphUpdate
            Dim serieName As String = "courbe1"
            Me.DataGridView1.Rows.Clear()
            For i As Integer = 1 To 10000
                With Me.DataGridView1
                    .ColumnCount = 2
                    .Columns(0).Name = "x"
                    .Columns(1).Name = serieName
                    .Rows.Add(10 + i, 50 + i)
                    'oGraphique.UpdateGraph()
                End With
            Next
            oGraphique.FillWithDataGridView(serieName)
        End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème boucle lecture DatagridView
    Par Saten dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/10/2008, 14h06
  2. Méthodes de lecture d'un fichier xml
    Par habibdu70 dans le forum C#
    Réponses: 1
    Dernier message: 01/02/2007, 13h25
  3. [C#] méthodes pour filtrer un datagridview ?
    Par tikam dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/08/2006, 12h24
  4. Réponses: 10
    Dernier message: 21/03/2006, 00h16
  5. méthode de lecture d'un fichier dans un buffer
    Par Mestoph dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/02/2006, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo