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

C# Discussion :

DataGridView scroll manuel par code


Sujet :

C#

  1. #1
    Membre habitué Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Points : 130
    Points
    130
    Par défaut DataGridView scroll manuel par code
    Bonjour,

    J'ai une fenêtre contenant deux DataGridView. Lorsque je scroll horizontalement sur celle du haut, j'aimerais que le scroll se reproduise sur celle du bas.

    Je me suis inspiré du POST :
    http://www.developpez.net/forums/showthread.php?t=36603

    Le problème est que c'est du Framework 1, et je travaille avec 2.0. J'ai plus ou moins fait la même chose, la scrollbar bouge, mais l'affichage de la DataGridView ne défile pas.

    [Edit]
    C'est une erreur de ma part. Ce n'est pas du Framework 1, mais c'est une DataGrid. Pour ma part, je travaille avec une DataGridView... Si cela peut changer qqch !
    [/Edit]


    Quelqu'un peut m'aider svp ???

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    internal class DataGridViewScrollable : DataGridView
      {
        internal void SetHScrollPosition(ScrollEventType _type, int _iOldValue, int _iNewValue)
        {
          base.OnScroll(new ScrollEventArgs(_type, _iOldValue, _iNewValue, ScrollOrientation.HorizontalScroll));
        }
      }

  2. #2
    Membre habitué Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Points : 130
    Points
    130
    Par défaut
    Pas d'idées ?

  3. #3
    Membre habitué Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Points : 130
    Points
    130
    Par défaut
    Et pour contourner le problème, est-ce que quelqu'un a une solution pour scroller un panel? Je pourrais mettre ma DataGridView dans un panel, changer la taille du panel à la main, et le scroller à la main...

    SVP

  4. #4
    Membre habitué Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Points : 130
    Points
    130
    Par défaut
    Voilà, problème résolu! Non sans mal...

    J'ai mis mes deux DataGridView dans deux Panels, et j'ai utilisé la ScrollBar horizontale du panel, et la verticale du DataGridView (pour garder la ligne d'en-tête des colonnes lors de Scroll down). Modifier la valeur de la ScrollBar d'un panel est très simple. Panel.HorizontalScrollBar.Value = x.

    Les propriétés Dock des Panels sont propres à la disposition de la fenêtre, et les propriétés Dock des dataGridView sont à None. Ce qui permet de définir une largeur de grille plus large que le panel pour voir apparaître la ScrollBar du Panel. Par contre, il faut garder la même hauteur que le panel pour ne pas voir apparaître la ScrollBar du panel, mais celle de la DataGridView.

    Ensuite, en bricolant les événement SizeChanged, ColumnSizeChanged, ..., il faut redimensionner les grilles en fonction de la taille des colonnes. La hauteur doit toujours correspondre à Panel.ClientSize.Height.

    Et voilà, le tour est joué !

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

Discussions similaires

  1. [LINQ] Datagridview Ajouter ligne par code ?
    Par matrix3 dans le forum Framework .NET
    Réponses: 2
    Dernier message: 02/06/2008, 09h42
  2. Tracer le datagridview par code
    Par decker94 dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/03/2008, 08h07
  3. tracer un datagridview par code
    Par decker94 dans le forum C#
    Réponses: 1
    Dernier message: 25/03/2008, 18h25
  4. [VB 2005][DatagridView] Ajouter une ligne par code
    Par RaelRiaK dans le forum VB.NET
    Réponses: 3
    Dernier message: 23/01/2007, 22h54
  5. Réponses: 5
    Dernier message: 25/10/2006, 17h16

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