我试图用在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可能有用。

07-26 02:56