LINQ to SQLクエリ式にバインドされたDataGridView
があります。私はそれが更新のために編集できるようにしたいが、挿入のために、グリッド(テキストボックス、日付ピッカーなど - 現在は何にも束縛されていない)の下で別々のコントロールを使用したい。私は、コントロールの値に基づいてSQLエンティティクラスにlinqのオブジェクトを作成し、InsertOnSubmit()
を呼び出す "追加"ボタンがあります。後でSubmitChanges()
と呼ぶと、グリッドからの更新と追加されたオブジェクトは、すべて正しくデータベースに保持されます。Linq to SQLにバインドされたDataGridViewは、別の場所でDBコンテキストに追加された新しい行を表示しません。
私の問題は、SubmitChanges()
への呼び出しの前後に、新しいオブジェクトがグリッドに追加されないということです。新しいオブジェクトを作成するとすぐにグリッドに追加することをお勧めします。また、グリッドの下にあるコントロールは、既存のレコードを編集するのではなく、新しいレコードを挿入するためだけに使用する必要があるため、データソースにバインドする必要はありません。
私は作品グリッド(すなわちdataGridView.DataSource = db.<TableName>
、ためDataSource
を再設定し、それが再びグリッドの一番上にスクロールするので、不器用で、単純にしようとしなかった - 私はより良い方法が存在していると確信している
。しようとする最初の事はGetNewBindingList()が、このスレッドで
。ありがとうMarc、それらのリンクは正しいトラックに私を得た:) – Jon