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 :
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...
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
J'ai bien testé ça :
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...
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; }
Je précise que c'est pour le compact framework.
Partager