largura da coluna de um DataGrid em um aplicativo do Windows Mobile
-
20-08-2019 - |
Pergunta
Estou tendo problemas ao tentar ajustar a largura de uma coluna de um datagrid. Eu usei a resposta postada aqui , mas Eu não posso resolvê-lo.
Eu estou usando uma lista de objetos como uma fonte de dados. Neste exemplo simples, eu acabou de criar um aplicativo de dispositivo inteligente, e apenas acrescentou um datagrid. Então meu código é esta:
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;
}
}
A largura permanece o mesmo. Você tem uma pista? Obrigado!
Solução
Alterar esta linha
tableStyle.MappingName = lista.GetType().ToString();
para
tableStyle.MappingName = lista.GetType().Name;
Oh, e 4000 é um pouco grande para um celular, mas eu suponho que é um erro de digitação.
Outras dicas
Para qualquer um usando um DataTable como o DataSource em vez de uma lista, parece que você tem que mudar:
tableStyle.MappingName = lista.GetType().Name;
para:
tableStyle.MappingName = lista.TableName;
Levei um tempo para descobrir isso!
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow