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 :

Assignation valeur Datagrid et For dans For [Débutant]


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Assignation valeur Datagrid et For dans For
    Bonjour,

    Je bosse sur la création d'un DataGrid avec le code suivant
    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
     
            Dim row As String()
            Dim SubRow As String()
            Dim CumuleLongueur As Double = 0
     
            For i As Integer = 0 To BarresUtilisées.Count - 1
                row = New String() {i + 1, BarresUtilisées.Item(i).Cells(PositionColonneQuantité), BarresUtilisées.Item(i).Cells(PositionColonneDesignation), LongueurBarre}
                GridBarresUtilisées.DataGridViewX1.Rows.Add(row)
                For j As Integer = 0 To BarresUtilisées.Item(i).Rows.Count - 1
                    Dim Longueur As String = 0
                    SubRow = New String() {i + 1 & "-" & j + 1, BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneQuantité), BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneDesignation), BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneLongueur)}
                    GridBarresUtilisées.DataGridViewX1.Rows.Add(SubRow)
                    Longueur = BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneLongueur)
                    Longueur = Left(Longueur, Len(Longueur) - 2) 'Suppression des "mm"
                    Longueur = Replace(Longueur, ",", "")    'Suppression Virgule
                    Longueur = Longueur / 100
                    Dim LongueurActuelle As Double = Convert.ToDouble(Longueur)
                    CumuleLongueur = CumuleLongueur + Longueur
                Next
                GridBarresUtilisées.DataGridViewX1.Rows(i).Cells(4).Value = Convert.ToString(LongueurBarre - CumuleLongueur)
                CumuleLongueur = 0
     
            Next
    En gros je regarde la liste "BarresUtilisées" (liste de liste), pour chaque ligne "i" j'ajoute une ligne à mon tableau.

    Avant de passer à la ligne suivante je regarde dans la ligne "i" si elle contient d'autres lignes "j", pour chaque ligne "j" j'ajoute une ligne à mon tableau.

    Le soucis c'est qu'après tout ça je veux ajouter une valeur Dans la 4ième cellule de ma ligne "i", problème, ça me met une valeur dans les lignes du dessous, je comprend pas pourquoi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridBarresUtilisées.DataGridViewX1.Rows(i).Cells(4).Value = Convert.ToString(LongueurBarre - CumuleLongueur)
    Voila le résultat que j'ai au jour d'aujourd'hui:
    Nom : 23-05-2014 09-32-40.jpg
Affichages : 166
Taille : 111,7 Ko
    La valeur "Chute" devrait apparaitre juste sur la ligne "1" et pas sur les "1-1". Je dois oublier un petit truc, mais j'ai beau essayer pleins de trucs, je tourne en rond

    merci d'avance pour le coup de main :-)

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    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
            'Création d'une ligne par barre débité
            Dim row As String()
            Dim SubRow As String()
            Dim CumuleLongueur As Double = 0
            Dim SubRowAdd As Integer = 0 'Nombre de SubRow Ajouté par barre
            Dim SubRowAddT As Integer = 0 'Nombre de SubRow Ajouté total
     
            For i As Integer = 0 To BarresUtilisées.Count - 1
                row = New String() {i + 1, BarresUtilisées.Item(i).Cells(PositionColonneQuantité), BarresUtilisées.Item(i).Cells(PositionColonneDesignation), LongueurBarre}
                GridBarresUtilisées.DataGridViewX1.Rows.Add(row)
                For j As Integer = 0 To BarresUtilisées.Item(i).Rows.Count - 1
                    Dim Longueur As String = 0
                    SubRow = New String() {i + 1 & "-" & j + 1, BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneQuantité), BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneDesignation), BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneLongueur)}
                    SubRowAdd = SubRowAdd + 1
     
                    GridBarresUtilisées.DataGridViewX1.Rows.Add(SubRow)
                    Longueur = BarresUtilisées.Item(i).Rows(j).Cells(PositionColonneLongueur)
                    Longueur = Left(Longueur, Len(Longueur) - 2) 'Suppression des "mm"
                    Longueur = Replace(Longueur, ",", "")    'Suppression Virgule
                    Longueur = Longueur / 100
                    Dim LongueurActuelle As Double = Convert.ToDouble(Longueur)
                    CumuleLongueur = CumuleLongueur + Longueur
                Next
     
                GridBarresUtilisées.DataGridViewX1.Rows(i + SubRowAddT).Cells(4).Value = Convert.ToString(LongueurBarre - CumuleLongueur)
                SubRowAddT = SubRowAddT + SubRowAdd
                CumuleLongueur = 0
                SubRowAdd = 0
     
            Next
    Bon j'ai trouvé tout seul Il fallait que je décale mon écriture du nombre de SubRow ajouté, mais bon je sais pas trop pourquoi vu que je me referais au i et que lui il s'en fou que j'ajoute des barres ou pas.

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

Discussions similaires

  1. [Débutant] Boucle for et multiplication de valeurs qui se suivent dans un vecteur
    Par preto91 dans le forum MATLAB
    Réponses: 10
    Dernier message: 11/02/2014, 17h16
  2. [bash] Récupérer valeur d'un argument dans boucle for
    Par lamingue dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 26/07/2012, 15h25
  3. Sauver valeur d'une boucle for dans un fichier texte
    Par nikob88 dans le forum MATLAB
    Réponses: 8
    Dernier message: 25/05/2012, 15h18
  4. Chercher dans les valeurs d'une cellule dans une boucle For Next
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/09/2011, 15h30
  5. Identifié la derniere valeur dans for each
    Par roadmender dans le forum VBScript
    Réponses: 2
    Dernier message: 02/06/2010, 16h04

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