-1

うーん、これは私の問題です。列「セクション」を持つデータテーブル「学生」が BE701P、BE101P、BE701P、BE701P、BE101P の場合、コンボボックスで二重表示を防ぐにはどうすればよいですか このように「BE701PとBE101P」をコンボボックスにだけ表示させて重複表示を防ぎたいのですが、可能ですか?

   Private Sub section()
    Try
        conn = New OleDbConnection(Get_Constring)
        Dim sSQL As String = ("SELECT [section] FROM student where username like'" & Administrator.lblusername.Text & "%' ")
        Dim da As New OleDbDataAdapter(sSQL, conn)
        Dim ds As New DataSet
        da.Fill(ds)
        cmbsection.ValueMember = "section"
        cmbsection.DataSource = ds.Tables(0)
        cmbsection.SelectedIndex = 0
    Catch ex As Exception
        MsgBox("ERROR : " & ex.Message.ToString)
    End Try
End Sub

すべてのデータをコンボボックスに表示し、冗長表示を行います。重複を防ぎたいので。どんな提案でも大歓迎です。

4

2 に答える 2

1

個別のレコードのみを表示する DataTable のデフォルトの DataView から DataTable を作成できます。このアプローチを使用する利点は、すべてのレコードを元の DataTable に保持できることです (これは、他のバインディングに使用される可能性があります)。また、これはクライアント側の操作であるため、これを実行しているクライアントが多数ある場合は、サーバーの処理労力を節約できることに注意してください。

構文は次のようになります。

 ds.Tables(0).DefaultView.ToTable(True, {"section"})
于 2013-10-05T03:50:17.770 に答える