再連結

データグリッドの DataSource に Nothing を入れてリセットし、データセットをリロードして、連結をしてやっています。

Private gDS as System.Data.DataSet  ' ちゃんと Fill していること
Private gAdapter As System.Data.SqlClient.SqlDataAdapter  ' ちゃんとコマンドを取り込んでおくこと
Friend WithEvents gGrid As System.Windows.Forms.DataGrid ' ちゃんと生成してフォームに貼り付けてあること
...
  ' パージする
  gGrid.DataSource = Nothing
  ' データセットのリロード
  gAdapter.Fill( gDS )

  gGrid.DataSource = gDS
  gGrid.DataMember = gDS.Tables(0).TableName

なお、Visual Studio .Net 2003 のデータフォームウィザードでは、次のようなことを行っています。

  • テンポラリのデータセットを生成して、Fillする
  • グリッドのDataSourceに入れてあるデータセットの内容をクリアする
  • グリッドのDataSource(空っぽ)にテンポラリのデータセットをマージする

この方法だと、再連結が必要なくなります。