0

に設定されているGridView人がいます。は数秒ごとにバックエンドロジックによって更新され、その時点でデリゲートが呼び出されて更新されます。DataSourceDataTableDataTableGridView

現在、私は単にをリセットしていますDataSourceが、それは問題を引き起こします-それはグリッドビューで進行中の編集を中断し、選択を左上のセルに「ジャンプ」させます。

更新ロジックは基本的に新しい(列と行に関して同一)を作成しますDataTable

欠点なしでそれを行うための標準的な方法はありますか?DataSourceプログラムで値を挿入して、現在の行を行ごとに更新する唯一のオプションはありますか?

ありがとう!

4

3 に答える 3

1

私はこの質問の多くのことに混乱しています。を使用していて、を使用してGridViewいないDataGridView場合は、ASP.NET、WPF、または.NET1.1のいずれかを使用しています。どっち?

次へ:あなたはDataTable完全に新しいものを作成していますか?もちろん、をリセットすると、コントロールがリセットされますDataSourceDataTable新しいスキーマが置き換えられるスキーマと同じであるかどうかはわかりません。列を調べて、バインディングを再確立する必要があります。

また、もちろん、現在の行を失っています。DataTable現在の行は、新しい行ではなく、古い行に属しています。

基になるデータソースを更新するときにバインドされたコントロールの状態を保持する場合は、基になるデータソースを更新し、新しいものと置き換えないでください。

于 2009-03-11T02:30:33.623 に答える
1

BindingList変更通知をサポートするまたはいくつかのデータソースを使用する必要があります。

于 2009-03-10T16:34:45.927 に答える
0

更新はバックグラウンド スレッドで行われますか? あなたのシナリオでうまくいくかどうかはわかりませんが、このスレッド化されたバインディングリストを試すことができます; 例を参照して、ワーカーがグリッドを楽しく編集しているのを確認してください。

于 2009-03-10T23:22:25.497 に答える