DropDownList control through data binding in VB.NET

The following code shows how to bind a DropDownList control.
  • 3940

The following code explains you how to create a DropDownList control through data binding.

Code for the Default.aspx:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<body>

    <form id="Form1" runat="server">

        <h3>

            DropDownList Data Binding Example

        </h3>

        Select a background color for days in the calendar.

        <br>

        <br>

        <asp:Calendar ID="Calendar1" ShowGridLines="True" ShowTitle="True" runat="server" />

        <br>

        <br>

        <table cellpadding="5">

            <tr>

                <td>

                    Background color:

                </td>

            </tr>

            <tr>

                <td>

                    <asp:DropDownList ID="DropDownColors" AutoPostBack="True" OnSelectedIndexChanged="Selection_Change"

                        runat="server" />

                </td>

            </tr>

        </table>

    </form>

</body>
</html>

 

Code for Default.aspx.vb
 

Imports System.Data

Partial Class _Default

    Inherits System.Web.UI.Page

    Sub Selection_Change(ByVal sender As Object, ByVal e As EventArgs)

 

        ' Here we set the background color for days in the Calendar control

        ' based on the value selected in the DropDownList control.

        Calendar1.DayStyle.BackColor = _

            System.Drawing.Color.FromName(DropDownColors.SelectedItem.Value)

 

    End Sub

 

    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

 

        ' Load data for the DropDownList control only once, when the

        ' page is first loaded.

        If Not IsPostBack Then

 

            ' These few lines for Specify the data source and field names for the Text

            ' and Value properties of the items in the DropDownList control.

            DropDownColors.DataSource = CreateDataSource()

            DropDownColors.DataTextField = "ColorListTextField"

            DropDownColors.DataValueField = "ColorListValueField"

 

            ' Bind the data to the control.

            DropDownColors.DataBind()

 

            ' Set the default selected item, if desired.

            DropDownColors.SelectedIndex = 0

 

        End If

 

    End Sub

 

    Function CreateDataSource() As ICollection

 

        ' Create a table to store data for the DropDownList control.

        Dim dt As DataTable = New DataTable()

 

        ' Define the columns of the table.

        dt.Columns.Add(New DataColumn("ColorListTextField", GetType(String)))

        dt.Columns.Add(New DataColumn("ColorListValueField", GetType(String)))

 

        ' Populate the table with sample values.

        dt.Rows.Add(CreateRow("Black", "Black", dt))

        dt.Rows.Add(CreateRow("Silver", "Silver", dt))

        dt.Rows.Add(CreateRow("White", "White", dt))

        dt.Rows.Add(CreateRow("Blue", "Blue", dt))

        dt.Rows.Add(CreateRow("Yellow", "Yellow", dt))

 

        ' Create a DataView from the DataTable to act as the data source

        ' for the DropDownList control.

        Dim dv As DataView = New DataView(dt)

        Return dv

 

    End Function

 

    Function CreateRow(ByVal Text As String, ByVal Value As String, ByVal dt As DataTable) As DataRow

 

        ' Create a DataRow using the DataTable defined in the

        ' CreateDataSource method.

        Dim dr As DataRow = dt.NewRow()

        dr(0) = Text

        dr(1) = Value

 

        Return dr

 

    End Function

End Class

Happy Coding!

Categories

More Articles

© 2020 DotNetHeaven. All rights reserved.