Access テーブルの内容を DataGridView で取得して表示する際に、非常に奇妙な問題が発生しています。問題は次のとおりです。
私は 2 つのフォームを持つ VS2010 のアプリケーションに取り組んでいます。ボタンを押すと、メイン フォームに 2 番目のフォームが表示されます。2 番目のフォームには、BindingSource (または DataSet など) を使用してローカル PC 上の Access テーブルにリンクされた DataGridView が含まれています。グリッドの Data Source プロパティを新しいデータ ソースとしてテーブルに最初に設定すると (つまり、すぐにプロジェクトに追加することを意味します)、グリッドはテーブルの現在の内容を正確に反映します。ただし、その時点以降、グリッド上のテーブルの表示内容を完全に変更することはできません。内容はそれらの行としてスタックされます。私が書いているプログラムとAccess自体の両方を介して行を追加および削除した後でも、グリッドのコンテンツは決して現在のデータを反映するように変更します。ゴースト コンテンツは、プログラムのリセット (プログラムを閉じて再度開く) やデータ ソースの再割り当てによっても保持されます。
私が行った最も進歩したことは、グリッドを完全にクリアできるようになったことです。
grdTableDisplay.DataSource = Nothing
grdTableDisplay.Rows.Clear()
ただし、使用してデータ ソースを再割り当てすると、
grdTableDisplay.DataSource = TableDisplayBindingSource
ゴーストデータが返ってきます。これにより、バインディング ソースまたはデータ セットが、最初のデータ ソースのセットアップ後にまったく更新されていないと思われます。
誰でも私に提供できるこの問題についての洞察を大いに感謝します。この問題により、アプリケーションのテストが妨げられており、おそらく非常に簡単に解決できます。前もって感謝します!