Ширина столбца сетки данных в приложении Windows Mobile
-
20-08-2019 - |
Вопрос
У меня возникли проблемы при попытке настроить ширину столбца 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;
Мне потребовалось некоторое время, чтобы разобраться в этом!
Не связан с StackOverflow