以 CheckedListBox 控制 SQL Query 上 所選擇 既 Column 至 DataGridView

 
以 CheckedListBox 控制 SQL Query 上 所選擇 既 Column 至 DataGridView
 

   Form1.vb
 
   Imports System.Data.SqlClient
   Imports System.Text
 
   Public Class Form6
 
      Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
         CheckedListBox1.Items.Add("Team_ID")
         CheckedListBox1.Items.Add("Team_Name")
         CheckedListBox1.Items.Add("League_ID")
         ABC(False, False, False)
      End Sub
 
      Private Sub ABC(ByVal A As Boolean, ByVal B As Boolean, ByVal C As Boolean)
 
         If Not (A) And Not (B) And Not (C) Then
 
            DataGridView1.DataSource = New DataTable
 
         Else
 
            DataGridView1.DataSource = New DataTable
 
            Dim i As Integer = 0
            Dim connectionString1 As String = _
            "Data Source=.\SqlExpress; Initial Catalog=Soccer; Integrated Security=SSPI"
            Dim con1 As SqlConnection = New SqlConnection(connectionString1)
            con1.Open()
 
            Dim SqlString1 As New StringBuilder
            SqlString1.Append("SELECT")
 
            If A Then
               SqlString1.Append(" Team_ID")
               i += 1
            End If
 
            If B Then
               If i > 0 Then
                  SqlString1.Append(",")
               End If
               SqlString1.Append(" Team_Name")
               i += 1
            End If
 
            If C Then
               If i > 0 Then
                  SqlString1.Append(",")
               End If
               SqlString1.Append(" League_ID")
            End If
 
            SqlString1.Append(" FROM dbo.Team ORDER BY Team_ID")
 
            Dim Adapter As New SqlDataAdapter(SqlString1.ToString(), con1)
            Dim ds As New DataSet
 
            Adapter.Fill(ds)
 
            DataGridView1.DataSource = ds.Tables(0).DefaultView
            DataGridView1.AutoResizeColumns()
 
            ds.Dispose()
            con1.Dispose()
 
         End If
 
      End Sub
 
      Private Sub CheckedListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
      Handles CheckedListBox1.DoubleClick
 
         ABC(CheckedListBox1.GetItemChecked(0), CheckedListBox1.GetItemChecked(1), CheckedListBox1.GetItemChecked(2))
 
      End Sub
 
      Private Sub CheckedListBox1_MouseClick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
      Handles CheckedListBox1.MouseClick
 
         ABC(CheckedListBox1.GetItemChecked(0), CheckedListBox1.GetItemChecked(1), CheckedListBox1.GetItemChecked(2))
 
      End Sub
 
      Private Sub CheckedListBox1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
      Handles CheckedListBox1.MouseDoubleClick
 
         ABC(CheckedListBox1.GetItemChecked(0), CheckedListBox1.GetItemChecked(1), CheckedListBox1.GetItemChecked(2))
 
      End Sub
 
      Private Sub CheckedListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
      Handles CheckedListBox1.SelectedIndexChanged
 
         ABC(CheckedListBox1.GetItemChecked(0), CheckedListBox1.GetItemChecked(1), CheckedListBox1.GetItemChecked(2))
 
      End Sub
 
   End Class