2017-11-14 15 views
0

私はデータベースをvb.netのWindowsアプリケーションに接続するプロジェクトを持っています。私は特定の方法でデータを並べ替えるタブを作る必要があります。例えば、それは名前などの学生データベースです。したがって、「姓の学生」タブを押すと、データを姓で昇順に並べ替えます。だから、私はボタンを持っているクエリを作ったが、私はタブページがクリックされたときに自動的にボタンを実行する方法を知らない。ユーザーは並べ替えを制御することはできません。タブはそれ自体を行います。どんな助けも素晴らしいでしょう!私はどこにでも助けを求めてきました。タブクリックイベントからSQLクエリを実行

Private Sub TabPage2_Click(sender As Object, e As EventArgs) Handles tbLastName.Click 
     TabPage1.Hide() "this is made to get rid of previous page, but may be unnecessary" 
     tbLastName.Show() "this is supposed to show the data" 
     Sort_By_LastNameToolStripButton.Enabled() "My attempt to execute code from the query button that I made hidden" 

    End Sub 
+2

クエリを実行するコードはどこですか?ユーザーがタブをクリックしたときに何かを実行したい場合(IMOではあまり直感的ではありません)、そのイベントのクエリコードが必要です。 – Plutonix

答えて

0

照会データのコピーを保存して、選択されたタブに応じて、それを注文してデータベースのコード

0

を実行するために、タブコントロールSelectedイベントをお試しください。 TabControl.SelectedIndexChangedイベントを使用する

Private queryData As IEnumerable(Of Student) 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    queryData = QueryStudentsFromDatabase() 
End Sub 

Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged 
    Select Case TabControl1.SelectedIndex 
     Case 0 ' Last Name 
      Dim displayData = queryData.OrderBy(Function(s) s.LastName) 
     Case 1 ' Student ID 
      Dim displayData = queryData.OrderBy(Function(s) s.ID) 
    End Select 
    ListView1.DataSource = displayData ' or whatever 
End Sub 

これは非常に簡単な例です。簡潔にするため、UIスレッドで作業を行っています。あなたが望むなら、あなたは仕事の負荷を軽減することができます。

関連する問題