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!

Foi útil?

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
scroll top