お世話になります。
VISTA(VB2008 SQLSERVER2005)でプログラムを開発しています、
戸惑ってしまい教えて頂きたく投稿しました。
フォームにコマンドボタンを2つを貼り付け
ボタンをクリックすることにより、コンボボックスの内容を
読みかえるプログラムを作っています。
ボタン1で得意先名順にデータ表示
ボタン2で得意先名カナ順にデータ表示
※問題の現象
プログラム実行→ボタン1(得意先名、得意先名カナ)→ボタン2(得意先名、得意先名カナ)の順でヘッター項目表示
プログラム実行→ボタン1(得意先名カナ、得意先名)→ボタン2(得意先名カナ、得意先名)の順でヘッター項目表示
データは順に並ぶのですが、項目が入れ替わりません。
以前の設定を覚えているのでしょうか?
DataGridView1を初期化する命令を送れば解決するのでしょうか?
いろいろと考えましたが解決できません、よろしくお願いします。
Imports System.Data.SqlClient
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using cn As New SqlConnection(My.Settings.SqlConnect)
cn.Open()
Dim sql As String
Dim table As New DataTable
sql = "SELECT 得意先名,得意先名カナ FROM 得意先 ORDER BY 得意先番号"
Dim Adapter As New SqlDataAdapter(sql, cn)
Adapter.Fill(table)
DataGridView1.DataSource = table
End Using
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Using cn As New SqlConnection(My.Settings.SqlConnect)
cn.Open()
Dim sql As String
Dim table As New DataTable
sql = "SELECT 得意先名カナ,得意先名 FROM 得意先 ORDER BY 得意先名カナ"
Dim Adapter As New SqlDataAdapter(sql, cn)
Adapter.Fill(table)
DataGridView1.DataSource = table
End Using
End Sub
End Class
> DataGridView1を初期化する命令を送れば解決するのでしょうか?
まぁ、そうみたいね。
DataSource に Nothing を設定して一度未参照の
状態にしてやってもいいみたいだし、
DataSource の DataTable.Columns.Clear()でも
いいみたいだし、(この方法はプログラムとしては
いまいち不細工な処理に思えます)
DataGridView.Columns.Clear() でもいいみたい。
お好きなようにどうぞ。
特攻隊長まるるう様、ありがとうございます
DataGridView.Columns.Clear()を入れ解決しました。