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 :

Datagridview : decalage de lignes


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Datagridview : decalage de lignes
    onjour,

    ci après la description de mon problème
    une table avec 2 colonnes
    un premier datagridview affiche la 1ere colonne de la table
    un second datagridview affiche la 2e colonne de la table
    pour des problèmes de dimensionnement les datagridview sont calés dans un tablelayout
    Chaque datagridview affiche 14 lignes
    les datagridview ont les propriétés allowusertoaddrows à false et en readonly à true
    lorsque les datagridview affichent 14 lignes, lorsque je clique dans la dernière cellule du 1er datagridview, la cellule du second est décalée vers le haut
    d'où cela peut il provenir et comment gérer cela si c'est possible
    je fais mes développements avec visual basic express 2008, sur une base access

    Merci de votre aide

    Fred

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    lorsque les datagridview affichent 14 lignes, lorsque je clique dans la dernière cellule du 1er datagridview, la cellule du second est décalée vers le haut
    Est-ce que tu "synchronise" les 2 Dataridview en changeant la CurrentRow (ou la CurrentCell) de la 2ème DataGridView quand tu changes de CurrentRow dans la première DataGridView?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    heuuu...comment on synchronise les datagridview ?
    il faut que je regarde l'aide en ligne...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Je n'ai pas trouvé d'information sur la synchronisation...
    ce que je peux dire, c'est que tous les datagridview font référence au même bindingsource et au même tableadaptater

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Il faut le faire à la main : sur un évenement RowChange d'un des dgv, il faut modifier la CurrentRow de tous les autres, via un code qui devrait ressembler à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dgv2.CurrentCell=dgv2.Rows[dgv1.CurrentRow.RowIndex].Cells[0];
    Mais pourquoi 2 DGV synchronisés qui portent sur la même datatable, plutot qu'un DGV avec l'ensemble des colonnes des dgv1 et dgv2.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    en fait j'ai procédé de cette manière car je n'arrivais pas à caler la taille des champs comme je le souhaitais...ce n'est surement pas très académique j'en conviens...
    donc j'ai un truc comme ça
    !-----------!-----------!----------!
    !...dgv1......!....dgv2.....!....dgv3...!
    !-----------!-----------!----------!
    !...dgv1......!....dgv2.....!....dgv3...!
    !-----------!-----------!----------!
    !...dgv1......!....dgv2.....!....dgv3...!
    !-----------!-----------!----------!

    chaque dgv est inscrit dans des cellules d'un tablelayout...
    et chaque dgv porte sur le même datatable
    le dgv1 contient le champ 1 du datatable, le dgv2 le 2 etc..
    lorsque j'appelle la fonction fill_get tout se passe bien
    il n'y a que lorsque je clique sur le dernier champ que les lignes de dgv se décalent (à ne pas confondre avec les problèmes de sncf et de tgv )
    j'avais essayé avec un seul dgv mais cela ne marchais pas comme je voulais...je débute un peu avec ces outils...

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    j'avais essayé avec un seul dgv mais cela ne marchais pas comme je voulais
    C'était la bonne solution.
    Quel était le problème ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    le dgv est réparti sur 2 onglets
    toutes les cellules d'un enregistrement n'ont pas la même taille, et je n'arrivait pas à positionner les cellules dans le tablelayout comme je le voulais...
    il faudrait que j'essaie de reprendre cette partie là...

  9. #9
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    On peut (re)dimensionner la largeur des colonnes d'un Dgv:
    • soit en modifiant la largeur de chaque colonne via le code,
    • soit via l'IHM comme sur Excel,
    • soit en automatique, le système ajustant la taille des colonnes en fonction de leur contenu (ca fontionne, mais pas parfaitement).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    OK finalement, je n'ai fais plus qu'un seul dgv, dimensionné les colonnes dans les propriétés adéquates...cela fonctionne apparemment mieux.
    Merci pour les conseils

    Question subsidiaire...est il possible d'avoir des bordures de cellules différentes selon les côtés comme cela peut se faire dans Excel ou Word...exemple lignes épaisse en haut et en bas et lignes simples à gauche et à droite ?

  11. #11
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Les bordures gérées par le DataGridView ne peuvent être modulées suivant le contenu du DGV.

    La seule solution est de supprimer les bordures standard du DataGridView et de tracer (ou non) des "cadres" d'épaisseur variable à l'intérieur des cellules.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    OK et merci encore pour toute cette aide précieuse.
    je marque le topic comme résolu
    A une prochaine fois pour d'autres questions

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

Discussions similaires

  1. [VB.net 2005] datagridview + retour à la ligne
    Par ricil78 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/04/2007, 16h39
  2. [VB 2005][DatagridView] Ajouter une ligne par code
    Par RaelRiaK dans le forum VB.NET
    Réponses: 3
    Dernier message: 23/01/2007, 22h54
  3. [VB 2005]Datagridview : action sur ligne
    Par estelledany dans le forum Windows Forms
    Réponses: 1
    Dernier message: 31/05/2006, 10h47
  4. [C# 2.0] DataGridView ajout de ligne à la volée
    Par blasme dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/04/2006, 11h05
  5. [C#][DataGridView]Comment selectionner ligne sur Click Droit ?
    Par VincenzoR dans le forum Windows Forms
    Réponses: 12
    Dernier message: 23/12/2005, 22h34

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