我试图将表的top3记录加载到DataGrid中它显示错误无法将类型'System.Linq.IQueryable'隐式转换为'string'。下面的代码我写的
MyDatatBaseDataContext Mydb = new MyDatatBaseDataContext();
var top3 = (from t in Mydb.GetTable<student>() select t).Take(2);
grd_8.ItemStringFormat = top3;
答案 0 :(得分: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将yr List转换为字符串
但您可以将List<student> top3
分配给您的网格ItemsSource / DataSource
答案 1 :(得分:0)
ItemStringFormat获取或设置指定的复合字符串 如果显示为ItemsControl中的项目,如何格式化 字符串。
为什么要将LINQ结果分配给ItemStringFormat。我相信您正在寻找ItemsSource属性
grd_8.ItemsSource = top3;
此外,要从查询中选择前三个记录,请使用Take(3)
而不是Take(2)
答案 2 :(得分:0)
为什么要将结果分配给ItemStringFormat?
grd_8.ItemStringFormat = top3;
您需要将结果分配给ItemSource
grd_8.ItemSource = top3;