2012-02-23 6 views
6

VS2010で作成されたエンティティモデルでSQLクエリをDataGridに取り込もうとしています。エンティティオブジェクトから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文が返されます。 DataGridに表示するためにMovieTableの特定のメンバーを選択する方法はありますか?表示したい列を指定することがありますか?十分に簡単だと思われますが、私はそれを理解するのに十分ではないと思います!!

答えて

14

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は有用である可能性があります。

+0

ありがとうございます - 非常に明確な説明! – gbk

関連する問題