【问题标题】:Only display certain columns in DataGrid from an Entity Object仅在实体对象的 DataGrid 中显示某些列
【发布时间】:2012-03-14 05:16:30
【问题描述】:

我正在尝试在 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)。尝试在对象中选择某些属性时,我会返回字符串并且返回语句会抱怨。有没有办法选择 MovieTable 的某些成员在数据网格上显示?也许指定我想显示的列?看起来很简单,但我想我还不够好!!!!

【问题讨论】:

    标签: c# sql wpf xaml


    【解决方案1】:

    您需要指定 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 可能有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多