Positionnement de label suivant certaines valeurs [Résolu]

Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
- - Dernière réponse : atone31
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
- 18 avril 2011 à 16:42
Bonjour à tous !
Je développe une application sous vb.net et je rencontre un problème.
Voici ce que je souhaite faire .

j'affiche dans une form un datagridview :


n°gachées | date | heure | ecart | pesée | .....

1 23/01/2011 22h30 15 300
2 24/01/2011 0h36 17 350
3 27/01/2011 6h32 12 150
... ... ... .. ..

en cliquant sur un bouton, je récupere les données du datagridview pour les
afficher dans une form (vide)
J'aimerai que l'affichage se génère comme cela :

------------------------------------------------
Numéro du gachée : 1

Date | heure | ecart | pesée | .....

23/01/2011 22h30 15 300
----------------------------------------------------
Numéro du gachée : 2

Date | heure | ecart | pesée | .....

24/01/2011 0h36 17 350
----------------------------------------------------
Numéro du gachée : 3

Date | heure | ecart | pesée | .....

27/01/2011 06h32 12 150
----------------------------------------------------

comment précéder?!
Je n'est pas de problème concernant la récuperation des données, mais je l'ai au niveau du placement des données.

Merci d'avance.
Pour plus d'informations, n'hésiter pas !
Afficher la suite 

14 réponses

Meilleure réponse
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
8
3
Merci
Attention, si tu travailles en pixels, un décalage de 5 est beaucoup trop peu.

Vérifies d'abord que tu es bien en pixels puis essaie avec 50, ensuite ajuste selon ton humeur.


Calade

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 128 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Calade
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
8
0
Merci
Bonjour,

Si je comprends bien ton problème se situe au niveau de l'alignement de tes 4 labels (date, heure, etc...) sous celui contenant le nom des colonnes.

A mon avis le plus simple est d'avoir un label contenant (Numéro du gachée x), un autre contenant les entêtes de colonne en dessous, enfin 4 autres encore en dessous (1 pour la date, 1 pour l'heure, etc...).
Comme ça il te sera facile d'aligner tout cela.

Autre possibilité, mais je ne sais pas si cela est possible en .NET. Remplacer ces 4 colonnes par un DataGridView à 4 colonnes et 1 seule ligne.



Calade
Commenter la réponse de Calade
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
1
0
Merci
Re,
Merci "Calade" pour les informations que tu m'as données.
Mais mon problème souligner n'est pas celui là...

En faite ce que je veux faire c'est récupérer les données de mon datagridview pour les afficher dans une autre form. Mais je souhaite décomposer mon datagridview comme l'exemple que j'ai donnée.

Ce n'est pas une question d'alignement.
Disons que pour être un peu plus clair, les données contenu dans la colonne "N°gachée" ne sont pas toujours les mêmes. je veux parcourir ce tableau pour decomposer les données comme ceux-xi... je ne connais donc pas a l'avance combien il y aura de numéro de gachée.; ( sa peu etre simplement 1 ou juska 10 par exemple. tous dépendra c'est contenu dans la colonne N°gachée)

numéro gachée : 1

Date | heure | volume | ecart ..
... ... .... ...
numéro gachée : 2

Date | heure | volume | ecart ..
... ... ... ...
numéro gachée : 3

Date | heure | volume | ecart ..
.... ... .... ...
Etc
Commenter la réponse de atone31
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
8
0
Merci
J'avoue que je n'ai toujours pas compris.

J'imagine que les données affichées dans ton DataGrdiView proviennent d'une base de données.
Tu sais donc, soit par le nb d'enregistrements de ton recordset, soit par le nb de lignes de ta grid, le nombre de n° de gachées.

Est-ce que cela répond à ta question ?


Calade
Commenter la réponse de Calade
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
1
0
Merci
Non désolé.
Mais je sais récupérer le nombre de numéro de gachées, ce n'est pas un probleme. c'est que dans ma form ou je veux afficher les données du datagridview, je veux detaillée les informtions du n° de gachée N°1 puis ensuite celui du gachées N° 2...etc

Or je ne sais pas comment écrire cela dans ma form. tu comprends ?
Commenter la réponse de atone31
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
8
0
Merci
Je crois que je commence à comprendre.

Perso', je partirais du recordset sous-jacent à ta Grid ce sera plus simple.

Ensuite un For... Next/Do While Not EOF... Loop
pour afficher tes différents labels.


Calade
Commenter la réponse de Calade
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
1
0
Merci
Ok ok.

En gros je veux detaillée chaque ligne de mon datagridview sous la forme que je t'ai montrée.

Numéro du gachée : ...

Date | heure | volume | ecart ......

Ensuite un For... Next/Do While Not EOF... Loop
pour afficher tes différents labels.

oui je suis d'accord j'y est pensée, mais mon soucy est effectivement ici car je ne voit pas comment positionner mes labels.. si je donne une position dans ma boucle.. ce sera toujours la meme par la suite..
Aurais tu un exemple par hasard
Commenter la réponse de atone31
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
8
0
Merci
Pas forcément, pour prendre l'exemple de la propriété top, tu initialises une variable pour la 1ère ligne, puis tu l'incrémentes à chaque nouvelle ligne de 200/300 pixels (ça ça reste à déterminer au coding).

et tu fais MyLabel.Top = intTop

Et tu suis le même sprincipe pour la propriété Left.

Calade
Commenter la réponse de Calade
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
1
0
Merci
Ok ok. je chercherai des informations sur ce que tu me dis.

Merci à toi ! je validerai si la réponse que tu m'as donnée est la bonne ;)
Commenter la réponse de atone31
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
1
0
Merci
j'ai compris ce qu'il fallait faire.. mais ma boucle m'affiche simplment le numéro de gachées n°1

Dim top As Integer = 295
        Dim left As Integer = 50

        ' on affiche les données décomposées de chaque gachées
        For i As Integer = 1 To max_gachees

            Dim label1 As New Label
            label1.Size = New Size(200, 100)
            label1.Top = top
            label1.Left = left
            label1.Text = "Numéro du gachées :" & i
            Me.Controls.Add(label1)

            top = top + 5

           ' Debug.Print(top)
           ' Debug.Print("i =" & i)
        Next


Vois-tu ou il y aurait le problème...
Commenter la réponse de atone31
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
1
0
Merci
Ok !!! Problème résolu pour l'ajout des labels...

Mais je rencontre un autre problème.. quand j'ajoute mes labels si il yen a trop, il ne rentre pas dans la form que j'ai créer.

Comment faire pour que cela s'affiche entièrement.. ou sur deux form par exemple.
Le but étant simplement d'afficher les données puis après de les imprimer. ( j'ai la fonction pour imprimer qui fonctionne mais qui s'applique que sur la form en question)
Commenter la réponse de atone31
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
8
0
Merci
Sous VB6, il y avait un contrôle DataRepeater.

Il permettait d'abriter de contenir un ou plusieurs autres contrôles et gérait les scrollbars si nécessaires en fonction de la hauteur que tu donnais au contrôle hôte.

Regarde si l'équivalent existe en .NET, je vais jeter un oeil de mon côté.


Calade
Commenter la réponse de Calade
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
8
0
Merci
Bon j'ai trouvé un contrôle TableLayoutPanel dans les contrôles conteneurs.

A toi d'essayer.


Calade
Commenter la réponse de Calade
Messages postés
15
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
6 septembre 2011
1
0
Merci
OK. je te remercie, je vais essayer de trouver.

Anthony
Commenter la réponse de atone31