2011-12-17 7 views
0

Winforms C#アプリケーションでは、データセットのtableAdapter.Fill/tableAdapter.FillByByに相当するEFを探しています。データセットのtableAdapter.FillByと同等のEntity Framework

GridView(Windforms)を再利用するために再利用可能で、おそらく異なる 'where句'を使用していたためです。

私が埋めるために知っている唯一の方法は、/今異なるパラメータでEFを使用してDBからのGridViewを補充:

this.myBindingSource.DataSource = myNewSelectQueryObject; 

これで「最初のフィルが」正常に動作しますが、2番目の1は、データソース等の原因になりますGirdViewは編集不可能です。 (ただし、BindingSource GridViewは「読み取り専用」ではありません。)a、d EF.Refresh()は、DB内にある可能性のあるレコードを更新していないようですが、 'EF'には存在しません。

ありがとうございました。

PS:

this.myRadGridView.MasterTemplate.DataSource = this.myBindingSource.DataSource; 

これは便利ですかどうかわからない:とoptionnally

Refill(){ 
this.myDataEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, this.myDataEntities.myEntity); 
this.myBindingSource.DataSource = myNewObjectQuery<...>; 
this.myRadGridView.DataSource = this.myBindingSource.DataSource; 
} 

:ここには、いくつかのこれまでの進展です。

RadGridViewは「はっきりと読取り専用」ではありません。

しかし、私はBindingSourceを通してレコードを追加したいと思います: this.myBindingSource.AddNew(); RadGridViewに表示されません。 レコードを追加して保存することはできますが、RadGridViewから[新しい行を追加するにはここをクリックしてください]ツールをクリックしてレコードを保存できます。

したがって、BindingSourceとグリッドの不一致があります。

Refill(){ 
this.myDataEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, this.myDataEntities.myEntity); 
this.myBindingSource = new BindingSource(); 
this.myBindingSource.DataSource = myNewObjectQuery<...>; 
this.myRadGridView.DataSource = this.myBindingSource; 

}

重要な違いは、 "新しいのBindingSource()" である:

答えて

0

解決策は、このようなものを作ることだったようです。

関連する問題