Ширина столбца DataGrid в приложении Windows Mobile - PullRequest
6 голосов
/ 27 июня 2009

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

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

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

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

Ответы [ 2 ]

6 голосов
/ 27 июня 2009

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

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

до

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

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

0 голосов
/ 25 февраля 2019

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

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

до:

tableStyle.MappingName = lista.TableName;

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

...