Tuesday, September 3, 2013

Multi column Combo box Code


Public Class frmMainForm
    Private WithEvents bsData As New BindingSource()
    Public ReadOnly Property ComboBoxWidths() As String
        Get
            Return "0;80;80;80"
        End Get
    End Property
    Private Sub LoadData()
        Dim dt As New DataTable
        dt.TableName = "MockedData"

        dt.Columns.AddRange(New DataColumn() _
            {New DataColumn("Identifier", GetType(System.Int32)), New DataColumn("FirstName", GetType(System.String)), _
             New DataColumn("LastName", GetType(System.String)), New DataColumn("Account", GetType(System.String))})


        dt.Rows.Add(New Object() {10, "Bill", "Smith", "AB100"})
        dt.Rows.Add(New Object() {20, "John", "Doe", "BB120"})
        dt.Rows.Add(New Object() {30, "Mary", "Brown", "CC105"})
        dt.Rows.Add(New Object() {40, "Kay", "Clime", "AY001"})
        dt.AcceptChanges()


        bsData.DataSource = dt
        lblAccount.DataBindings.Add("Text", bsData, "Account")
    End Sub
    Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoadData()

        cboDemo.ColumnWidths = ComboBoxWidths
        cboDemo.DataSource = bsData

    End Sub
    Private Sub bsData_PositionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles bsData.PositionChanged
        Dim View = bsData.CurrentRow

        lblFirstName.Text = View("FirstName").ToString
        lblLastName.Text = View("LastName").ToString

    End Sub
    Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click
        Close()
    End Sub
End Class

No comments:

Post a Comment