Ширина столбца сетки данных в приложении Windows Mobile

StackOverflow https://stackoverflow.com/questions/1051690

Вопрос

У меня возникли проблемы при попытке настроить ширину столбца datagrid.Я использовал опубликованный ответ здесь, но я не могу это решить.

Я использую Список объектов в качестве источника данных.В этом простом примере я только что создал приложение smart device и только что добавил datagrid.Тогда мой код - это вот этот:

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

Ширина остается прежней.У вас есть какая-нибудь подсказка?Спасибо!

Это было полезно?

Решение

Измените эту строку

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

Для

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

О, и 4000 - это немного великовато для мобильного телефона, но я предполагаю, что это опечатка.

Другие советы

Для всех, кто использует DataTable в качестве источника данных вместо списка, похоже, вам нужно изменить:

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

Для:

tableStyle.MappingName = lista.TableName;

Мне потребовалось некоторое время, чтобы разобраться в этом!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top