2009-06-26 4 views
6

Ich habe Probleme, die Breite einer Spalte eines Datagrids anzupassen. Ich habe die Antwort here verwendet, aber ich kann es nicht lösen.Spaltenbreite eines DataGrid in einer Windows Mobile-Anwendung

Ich verwende eine Liste von Objekten als Datenquelle. In diesem einfachen Beispiel habe ich gerade eine Anwendung für intelligente Geräte erstellt und gerade ein Datagrid hinzugefügt. Dann ist mein Code dieser:

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; 
    } 
} 

Die Breite bleibt gleich. Hast du eine Ahnung? Vielen Dank!

Antwort

6

Ändern Sie diese Zeile

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

zu

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

Oh, und 4000 ist ein bisschen zu groß für ein Handy, aber ich nehme an, dass ein Tippfehler ist.

+1

Ah danke! Ja, es funktioniert ganz richtig. Ja, die 4000 war nur ein Wert auf der Grundlage der Verzweiflung: P –