jaypabs jaypabs - 5 months ago 24
Vb.net Question

How to bind combobox with "Select Item" as the first item

I have the following code to bind the combobox from the database table:

Public Sub FillComboBox(ByVal cboCombo As ComboBox, ByVal sSQL As String, ByVal strTable As String, ByVal strDisplayMember As String, ByVal strValueMember As String)
Dim CN As New OleDbConnection

Try
With CN
If .State = ConnectionState.Open Then .Close()

.ConnectionString = cnString
.Open()
End With

Dim da As OleDbDataAdapter = New OleDbDataAdapter(sSQL, CN)
Dim dt As New DataSet

da.Fill(dt, strTable)

cboCombo.DataSource = dt.Tables(strTable).DefaultView
cboCombo.DisplayMember = strDisplayMember
cboCombo.ValueMember = strValueMember
Catch ex As Exception
MessageBox.Show(ex.Message)
Debug.Print(ex.Message)
Finally
CN.Close()
End Try
End Sub


Since "Select Item" value is not part of the record from the table, how can I add it in the combobox?

Answer

I think you can add an additional Datarow from it, something like this.. hope it works.

    Dim da As OleDbDataAdapter = New OleDbDataAdapter(sSQL, CN)
    Dim dt As New DataSet

    da.Fill(dt, strTable)

    cboCombo.DataSource = dt.Tables(strTable).DefaultView
    cboCombo.DisplayMember = strDisplayMember
    cboCombo.ValueMember = strValueMember


    Dim dr As DataRow = dt.Tables(strTable).NewRow()
       dr(0) = "-1"
       dr(1) = "Select Item"
       dt.Tables(strTable).Rows.InsertAt(dr, 0)
       cboCombo.DataBindings.Add("DataSource", dt, dt.Tables(strTable).TableName)
       cboCombo.DataBindings.Clear()
Comments