2012-06-29 2 views
0

я попытался загрузить Top3 запись таблицы в DataGrid он показывает ошибку Не удается неявно преобразовать тип «System.Linq.IQueryable» в «строка» .the код ниже того, что я написалпроблема в DataGrid, когда нагрузка на элементы

MyDatatBaseDataContext Mydb = new MyDatatBaseDataContext();  
var top3 = (from t in Mydb.GetTable<student>() select t).Take(2); 
grd_8.ItemStringFormat = top3; 

ответ

0

Изменить var top3 = (from t in Mydb.GetTable<student>() select t).Take(2);

в

List<student> top3 = (from t in Mydb.GetTable<student>() select t).Take(2).ToList(); 

и если grd_8.ItemStringFormat является строкой, то вы должны преобразовать список в год строка с помощью StringBuilder

но Вы можете назначить List<student> top3 к сетке ItemsSource/DataSource

0

ItemStringFormat Получает или задает составную строку, которая определяет как форматировать элементы в ItemsControl, если они отображаются в виде строки.

Почему вы назначаете результаты LINQ ItemStringFormat. Я считаю, что вы ищете ItemsSource собственности

grd_8.ItemsSource = top3; 

Кроме того, чтобы выбрать первые три записи с использованием запроса Take(3) не Take(2)

0

Почему вы присваивающей результаты в ItemStringFormat?

grd_8.ItemStringFormat = top3; 

Вам необходимо присвоить результаты в ItemSource

grd_8.ItemSource = top3;