Thursday, March 14, 2013

COMBO BOX DATA BINDING


Public Sub PopulateComboBox(ByRef Combo As ComboBox, ByVal SQl As String)

        Try
            Dim DS As New DataSet
            Dim DA As New SqlClient.SqlDataAdapter
            Dim TableName As String

            TableName = Trim(Mid(SQl, InStr(SQl, " FROM ", CompareMethod.Text) + 6)) & " "
            TableName = Mid(TableName, 1, InStr(TableName, " ", CompareMethod.Text))

            Using xCon As New SqlClient.SqlConnection(conn_string)
                xCon.Open()
                DA.SelectCommand = New SqlClient.SqlCommand(SQl)
                DA.SelectCommand.Connection = xCon
                DA.Fill(DS, TableName)
                xCon.Close()
            End Using
            Combo.DataSource = DS.Tables(TableName)
            Combo.DisplayMember = DS.Tables(TableName).Columns(1).Caption
            Combo.ValueMember = DS.Tables(TableName).Columns(0).Caption
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation)
        End Try

    End Sub


Usage
PopulateComboBox(cmbProperty, "Select Id,Title,SurveyNo From Properties")

To Retrive Value from Combox
cmbProperty.SelectedValue -- to get Id
cmbProperty.SelectedItem -- to get DataRowView -
[Conversion Needed, ie CType(cmbProperty.SelectedItem,DataRowView)]


No comments:

Post a Comment