0

わかりましたので、別のアプリケーションのローカル データベースを表示するためだけに、単純な SQL CE Viewer アプリケーションを作成しようとしています。開くデータベースを選択できるように設定し、コンボ ボックスにすべての情報を自動的に入力します。データベース内のテーブル。テーブルを選択すると、DataGridView にテーブル内のレコードが入力されます。

私の問題は、テーブルを切り替えることです。DataGridView で前のテーブルからすべてを削除し、DataGridView に新しいテーブル情報を再設定することができないようです。もちろん、各テーブルには異なる列と行などがあります。

ここでグーグルで検索しましたが、見つけたすべての提案が機能していないようです。DataGridView に最初のテーブルを問題なく設定しますが、別のテーブルを選択すると、基本的にそこにあったものに列と行が追加されます....

新しいデータに対して DataGridView を完全にクリアするにはどうすればよいですか?

そして、 dataGridView1.DataSource = null; を使用するように言わないでください。それを試してみましたが、うまくいきません。

4

3 に答える 3

1

DataSource新しいデータの入力が完了したら、この行を書き込みます

dataGridView1.Refresh();

DataGridView直接クリアする必要はありません。DataSourceの を変更することで常に処理されDataGridViewます。

于 2013-07-12T14:15:43.730 に答える
1

さて、私は自分のプログラムの 1 つでそれをチェックしましたが、DataSource プロパティを変更するだけで問題なく動作しています。datagridview.Refresh() を使用する必要はありませんでした。たぶん、datagridviewデータを設定するために使用しているDataSourceの種類に依存しますか?

于 2013-07-12T14:36:54.277 に答える
0

フォームに他に何もない場合は、単にInitializeComponent()もう一度呼び出すことができます。しかし、@ Joshは正しいと思います。

于 2013-07-12T14:27:13.390 に答える