[.net Cf] Modifier Les En-têtes D'une Datagrid, feat. @#!
Bienvenue invité ( Connexion | Inscription )
[.net Cf] Modifier Les En-têtes D'une Datagrid, feat. @#!
PoP |
24/10/2006 13:40
Message
#1
|
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
J'ai une appli écrite en C# pour le framwork .NET Compact Framework tournant sur un smartphone sous Windows Mobile 5. Dans cette appli j'ai un composant DataGrid pour lequel je souhaite implémenter le comportement suivant : quand l'utilisateur "click" avec son stylet sur l'entête d'une colonne, je veux que l'entête de cette colonne (et uniquement celle-ci) change de couleur.
Pour le moment je n'arrive qu'à changer la couleur de tous les en-tête d'un coup. Voici comment je fais: CODE private void dataGrid1_MouseDown(object o, MouseEventArgs mea) { DataGrid.HitTestInfo hitTest; if (mea.Button == MouseButtons.Left) { dataGrid1 = (DataGrid)o; // On fait un hittest pour savoir ou l'on a pointe hitTest = dataGrid1.HitTest(mea.X, mea.Y); // Si le hittest est sur un header de colonne, on continue if (hitTest.Type == DataGrid.HitTestType.ColumnHeader) { // on recupere le nom de la colonne pour l'operation de tri plus bas string columnName = ((DataTable)((DataView)dataGrid1.DataSource).Table).Columns[hitTest.Column].ColumnName; if (dataGrid1.HeaderBackColor != SystemColors.ControlDark) // on veut foncer la couleur des colonnes { dataGrid1.HeaderBackColor = SystemColors.ControlDark; } // on veut remettre la couleur par defaut else { dataGrid1.HeaderBackColor = defaultColor; } (...) Le composant en question est un System.Windows.Forms.DataGrid. Je suis tout à fait enclin à utiliser un composant OpenNETCF si celui-ci permet de faire ce que je souhaite. -------------------- PoP
"Consommez malin, consommez du ragondin!" |
Sha |
25/10/2006 15:25
Message
#2
|
Cartographe Groupe : Membres Messages : 2,065 Inscrit le : 16/05/2002 23:00 Lieu : Toulouse Membre no. 5 |
Si mes souvenirs de .Net / DataGrid sont bons, il est possible de déterminer le style de chaque colonne avec un objet DataGridColumnStyle à ajouter à une GridTableStylesCollection.
-------------------- "[I reject] politically-oriented thinking as essentially a hopeless waste of intellectual effort." - John Nash.
|
PoP |
26/10/2006 11:05
Message
#3
|
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
Vi vi, mais le problème c'est que ça impacte la colonne, et pas son entête. ;-)
Problème résolu, le client accepte une autre solution : le changement de couleur de la colonne. -------------------- PoP
"Consommez malin, consommez du ragondin!" |
Version bas débit | Nous sommes le : : 16/05/2024 17:34 |