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

Windows Forms Discussion :

[NETCF] Datagrid remplacer scrollbar par page up/down


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Points : 103
    Points
    103
    Par défaut [NETCF] Datagrid remplacer scrollbar par page up/down
    Bonjour,

    Je souhaiterais remplacer la scrollbar verticale créée automatiquement dans un datagrid par par des touches page up, page down (et donc un défilement par page lors de l'appuie sur l'une de ces touches).

    J'ai réussi à supprimer la scrollbar, j'ai également pu récupérer l'index de la première ligne visible du datagrid par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FieldInfo m_firstVisibleRow = dg.GetType().GetField("m_irowVisibleFirst", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
     
    MessageBox.Show(m_firstVisibleRow.GetValue(dg).ToString()); // affiche la premiere ligne visible du datagrid
    Le problème c'est que je ne sais pas comment ensuite procéder pour mes page up et page down à partir de cette valeur...

    J'ai bien testé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    nextPage = ((int)m_firstVisibleRow.GetValue(dg) + (dg.VisibleRowCount - 1) * 2);
     
    if (nextPage < dgRowCount)  //dgRowCount : nombre total de ligne du datagrid
    {
    	dg.CurrentRowIndex = nextPage;
    }
    else
    {
    	dg.CurrentRowIndex = dgRowCount-1;
    }
    mais cela ne fonctionne pas, je ne comprends pas pourquoi je me retrouve à la 3eme page et non a la 2eme ce qui pour moi n'est pas très logique... mais ma logique étant souvent très illogique je me trompe peut être...

    Je précise que c'est pour le compact framework.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Points : 103
    Points
    103
    Par défaut
    Bon he bien à force de galérer j'ai trouvé la solution, la voici au cas ou un internaute passant dans le coin serait interessé :

    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
     
    private void btnUp_Click(object sender, System.EventArgs e)
    {
    				FieldInfo m_firstVisibleRow = dg.GetType().GetField("m_irowVisibleFirst", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
    				int dgFirstVisibleRow = (int)m_firstVisibleRow.GetValue(dg);				
    				dg.CurrentRowIndex = dgFirstVisibleRow - dg.VisibleRowCount + 1;				
    }
     
    private void btnDown_Click(object sender, System.EventArgs e)
    {
    				FieldInfo m_lastVisibleRow = dg.GetType().GetField("m_irowVisibleLast", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
    				int dgLastVisibleRow = (int)m_lastVisibleRow.GetValue(dg);				
    				dg.CurrentRowIndex = dgLastVisibleRow+1;
    				dg.CurrentRowIndex -= 1;
    }

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/06/2012, 22h54
  2. remplacer un scrollbar par un up and down
    Par ismababa dans le forum C#
    Réponses: 16
    Dernier message: 09/02/2011, 13h26
  3. Remplacer automatiquement une page en html par une autre
    Par vigiepresse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 23/10/2010, 15h44
  4. remplacer 0 par "" sur datagrid
    Par redto dans le forum VB.NET
    Réponses: 8
    Dernier message: 06/09/2010, 17h06

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