Help - Search - Member List - Calendar
Full Version: [.net Cf] Modifier Les En-têtes D'une Datagrid
OpenSpace > Zone Ordinateurs > Programmation
PoP
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.
Sha
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.
PoP
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. biggrin.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2024 Invision Power Services, Inc.