私のプログラムは2つの部分に分かれています。
- Windowsフォームのクライアント。
- リモートWebサーバー(IIS)上のWCFで作成されたサーバー。
クライアントは、私の多くの異なるユーザーに同時に使用されます。
クライアントに多くのDataGridViewがあります。これらのDataGridViewは、Webサービスによって提供されるオブジェクトの(異なる)汎用リストにバインドされます。
これらのDataGridViewのコンテンツを頻繁に更新する必要があります。リフレッシュメソッドを呼び出すクライアントのタイマーを使用します。
しかし、私の問題は次のとおりです。Invalidate()を使用すると、現在表示されている行のコンテンツだけが更新されます。別の使用法で新しいオブジェクト(行)を削除または追加した場合、現在のユーザーには表示されません。データを再バインドしてデータを更新すると、現在の選択が失われます...ユーザーがデータを更新している場合の悪夢を想像してください...(はい、ユーザーがセルを編集するときにタイマーを停止し、ユーザーがセルを編集したときに再起動できます変更されますが、より良い方法を見つけたいと思います!)。
誰かがそのような問題を見たことがありますか?誰か提案がありますか?
ありがとうございました