我正在尝试使用VS2010中创建的实体模型上的SQL查询填充DataGrid。
public List<MovieTable> LoadMoviesMethod()
{
ObjectQuery<MovieTable> _movies = dataEntities.MovieTables;
var query =
from MovieTable in _movies
//where MovieTable.Rating == "R"
//orderby MovieTable.id
select MovieTable;
return query.ToList();
}
导入数据库时会自动生成对象MovieTable,但是当它显示在网格上时,它会显示比我想要的更多的信息(id,EntityKey和EntityState)。试图在对象中选择某些属性我得到了字符串,并返回return语句。有没有办法选择MovieTable的某些成员在数据网格上显示?也许指定我想要显示的列?看起来很简单,但我想我还不够好想出来!!!!
答案 0 :(得分:19)
您需要指定AutoGenerateColumns =“False”,然后明确指定所需的列。像
这样的东西 <DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{Binding Id}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
... etc
有几种不同的列类型 - 文本,组合框,复选框,超链接,模板......
此blog post可能有用。