Соединить DataGrid с List

Рейтинг: 2Ответов: 1Опубликовано: 06.02.2015

После LINQ-запроса пытаюсь соединить ответ с DataGrid:

context = new cokoEntities4();
s = new List<string>();
var itemList = from SchoolName in context.View_1 select SchoolName;

foreach (var item in itemList)
{
    Console.WriteLine(item.SchoolName);
    s.Add(item.SchoolName);

}
dg.ItemsSource = s;

Вот что он мне показывает:

alt text

Хотя в консоль выводить все правильно:

ГБОУ «Гимназия № 12»
ГБОУ «Гимназия № 14»
ГБОУ «Общеобразовательная школа-интернат № 1»
ГБОУ «Общеобразовательная школа-интернат для детей-сирот и детей, оставшихся без попечения родителей № 2»
ГБОУ «Президентский лицей»

Почему так происходит?

Ответы

▲ 1Принят

DataGrid заполняется с помощью свойств в объектах, у типа String такое свойство одно, это Lenght, который и выдается. Используйте объекты с явными свойствами, чтобы такого не было, к примеру:

class Institution{
    public String Title { get; set; }
};
List<Institution> list = new List<Institution>();

/*******                    ********/

var itemList = from SchoolName in context.View_1 select new Institution(){Title = SchoolName};

foreach (var item in itemList)
{
    list.Add(item);
}
dg.ItemsSource = list;