我试图用在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语句会出现问题。有没有办法选择要在数据网格上显示的电影的某些成员?或者指定要显示的列?看起来很简单,但我想我还不足以搞清楚!!!!啊!
最佳答案
您需要指定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可能有用。