2017-05-14 16 views
-1

テーブルを指定せずにクエリをデータグリッドにバインドすることはできますか?DataGridに動的クエリをバインドするC#WPF

string query = "select PersonName from Persons' 

それが変化し、次回は私が持っている:

string query = "select Email from Persons' 

私はSqliteをネット拡張子を使用している、と私はテーブルを指定せずに結合問題を抱えている

のは、私はこのクエリを持っているとしましょう例:

listPerson.DataContext = db.Query.... 

答えて

0

はい、すべてのテーブルまたはデータをデータにバインドできますグリッドを動的に調整する。 はあなたの列をXAMLコードの最初の検証:バインドデータの背後にあるコードでXAMLコードの後

<DataGrid x:Name="dataGrid" > 
    <DataGrid.Columns> 
      <DataGridTextColumn Header="col1" Binding="{Binding col1}"> 
      <DataGridTextColumn Header="col2" Binding="{Binding col2}"> 
    </DataGrid.Columns> 
</DataGrid> 

あなたは

 private void FillDataGrid() 
    { 
     var query = Context.Database.SqlQuery<Table>("Select * From table"); 

     var result = query.ToList(); 
     dataGrid.ItemsSource = result ; 
    } 
+0

私は

で私はテーブルオブジェクトを指定する必要がありがとうと思いました。 今それは働いています。 しかし、列にはまだ問題があります。私は既にグリッドにいくつかのデータを持っていますが、列のヘッダーを指定することはできません。列を表示するには、クエリで指定された列のみに依存します。 – user3688227

0

私はもう少し私の問題を説明しましょう。

私はある種のダイナミクスレポートを行いたいと思います。私は、SQLiteデータベースをSQLite NET拡張機能で使用しています。私はXMLファイルからクエリを読み込みます(このクエリはデータベースからの何でもかまいません)。私は何とかこのクエリの結果をグリッドまたはリストビューにロードしたい。私は、例えば、モデル内のオブジェクトに私のデータを「マッピング」ので 通常it'not問題は:

using (var db = new SQLiteConnection(new SQLite.Net.Platform.Generic.SQLitePlatformGeneric(), "zakupy.db")) 
     { 
      listPerson = db.Table<Persons>().Where(x => x.Property == "P" && x.Status == 0).ToList(); 
     } 
lstPersons.DataContext = listPerson; 

は今、私はこのような何かをしようとした:

using (var db = new SQLiteConnection(new SQLite.Net.Platform.Generic.SQLitePlatformGeneric(), "zakupy.db")) 
     { 
      var cc = db.Query<Table>("SELECT * from Events"); 
      lstPersons.DataContext = cc.ToList(); 
     } 

しかし、グリッドに私が唯一見ますこのようなもの: enter image description here

関連する問題