2017-03-17 16 views
1

私はこのようになりますComboBoxバインドされたデータ:自分のアプリケーションで

Dim listaCategoria As List(Of Ccategoria) = CAD.ObterTodosC()    
cbxAlterarCg.DataSource = listaCategoria 
cbxAlterarCg.DisplayMember = "nomeCategoria" 
cbxAlterarCg.ValueMember = "idCategoria" 

クラスコード(CAD):

Public Shared Function ObterTodosC() As List(Of Ccategoria) 
    Dim lstTodos As List(Of Ccategoria) = New List(Of Ccategoria) 
    Try 
     Using con As SqlConnection = New SqlConnection() 

      con.ConnectionString = myDAC._connectionString 
      Using cmd As SqlCommand = con.CreateCommand() 

       cmd.CommandText = "select * from Categoria" 
       con.Open() 
       Dim dr As SqlDataReader = cmd.ExecuteReader() 
       While dr.Read() 
        Dim p As Ccategoria = New Ccategoria() 
        p.IdCategoria = dr.GetInt32(0) 
        p.NomeCategoria = dr.GetString(1) 
        lstTodos.Add(p) 
       End While 
      End Using 
     End Using 
    Catch ex As SqlException 
     Throw ex 
    Catch ex As Exception 
     Throw ex 
    End Try 
    Return lstTodos 
End Function 

そして、属性:「idCateと

Public Class Ccategoria 
    Private _idCategoria As Integer 
    Private _nomeCategoria As String 
    (...) 

マイComboBoxディスプレイ "nomeCategoria"ゴリア "の値が正しい。

タイトルのように、既定の読み取り専用アイテムを作成して(「自分のカテゴリを選択する」など)そのようなものを作成できますか?

私はいくつかのチュートリアルを見てきましたが、データには限定されたComboBoxというものはありません。あなたは何ができるか

+0

私はあなたの範囲に収まるかどうかはわかりませんでした。私はそのように感じるときにコメントします。私はあなたがそれに満足していることを知っているので、私はaswerを提供します:) – Bugs

+1

もう一度ありがとう:) –

答えて

1

はちょうどそうのようなDim lstTodos As List(Of Ccategoria) = New List(Of Ccategoria)lstTodosCcategoria()を追加することです:

Public Shared Function ObterTodosC() As List(Of Ccategoria) 
    Dim lstTodos As List(Of Ccategoria) = New List(Of Ccategoria) 

    Dim p As Ccategoria = New Ccategoria() 
    p.IdCategoria = 0 
    p.NomeCategoria = "select your category" 
    lstTodos.Add(p) 

    Try 
     Using con As SqlConnection = New SqlConnection() 

      con.ConnectionString = myDAC._connectionString 
      Using cmd As SqlCommand = con.CreateCommand() 

       cmd.CommandText = "select * from Categoria" 
       con.Open() 
       Dim dr As SqlDataReader = cmd.ExecuteReader() 
       While dr.Read() 
        Dim p As Ccategoria = New Ccategoria() 
        p.IdCategoria = dr.GetInt32(0) 
        p.NomeCategoria = dr.GetString(1) 
        lstTodos.Add(p) 
       End While 
      End Using 
     End Using 
    Catch ex As SqlException 
     Throw ex 
    Catch ex As Exception 
     Throw ex 
    End Try 
    Return lstTodos 
End Function 

これを行うには、あなたが単にDataSourceに追加されています。 idCategoriaが0であるかどうかを確認することで検証を提供することができます。MessageBoxをカテゴリを選択するように促すメッセージを表示することを検討してください。

関連する問題