2009-06-26 10 views
6

Je rencontre des problèmes pour essayer d'ajuster la largeur d'une colonne d'une grille de données. J'ai utilisé la réponse here, mais je ne peux pas le résoudre. J'utilise une liste d'objets en tant que source de données. Dans cet exemple simple, je viens de créer une application de périphérique intelligent, et j'ai juste ajouté un DataGrid. Alors mon code est celui-ci:Largeur de colonne d'un DataGrid dans une application Windows Mobile

public Form1() 
    {    
     InitializeComponent(); 

     List<Prueba> lista = new List<Prueba>(); 
     lista.Add(new Prueba("uno", "dos")); 
     lista.Add(new Prueba("tres", "cuatro")); 

     dataGrid1.DataSource = lista; 
     DataGridTableStyle tableStyle = new DataGridTableStyle(); 
     tableStyle.MappingName = lista.GetType().ToString(); 
     DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn(); 
     tbcName.Width = 4000; 
     tbcName.MappingName = "UNO"; 
     tbcName.HeaderText = "UNO"; 
     tableStyle.GridColumnStyles.Add(tbcName); 
     dataGrid1.TableStyles.Clear(); 
     dataGrid1.TableStyles.Add(tableStyle); 
    } 
} 

public class Prueba 
{ 
    public string UNO { get; set; } 
    public string DOS { get; set; } 

    public Prueba(string uno, string dos) 
    { 
     this.UNO = uno; 
     this.DOS = dos; 
    } 
} 

La largeur reste la même. Avez-vous une idée? Je vous remercie!

Répondre

6

Modifier cette ligne

tableStyle.MappingName = lista.GetType().ToString(); 

à

tableStyle.MappingName = lista.GetType().Name; 

Oh, et 4000 est un peu grand pour un mobile, mais je suppose que c'est une faute de frappe.

+1

Ah merci! Oui cela fonctionne très bien. Oui, le 4000 était juste une valeur basée sur le désespoir: P –

Questions connexes