Larghezza della colonna di un DataGrid in un'applicazione Windows Mobile
-
20-08-2019 - |
Domanda
Sto riscontrando problemi nel tentativo di regolare la larghezza di una colonna di un datagrid. Ho usato la risposta pubblicata qui , ma Non riesco a risolverlo.
Sto usando un Elenco di oggetti come origine dati. In questo semplice esempio, ho appena creato un'applicazione per dispositivo intelligente e ho appena aggiunto un datagrid. Quindi il mio codice è questo:
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 larghezza rimane la stessa. Hai un indizio? Grazie!
Soluzione
Cambia questa riga
tableStyle.MappingName = lista.GetType().ToString();
a
tableStyle.MappingName = lista.GetType().Name;
Oh, e 4000 è un po 'grande per un cellulare, ma suppongo che sia un errore di battitura.
Altri suggerimenti
Per chiunque utilizzi una DataTable come DataSource anziché una lista, sembra che tu debba cambiare:
tableStyle.MappingName = lista.GetType().Name;
a:
tableStyle.MappingName = lista.TableName;
Mi ci è voluto un po 'per capirlo!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow