ASP.Net/Data Binding/DropDownList
Содержание
ArrayList Data binding for asp:DropDownList (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <script runat="server">
Dim ColorList(6) as String Dim FontList as new ArrayList() Sub Page_Load ColorList(0) = "Red" ColorList(1) = "Orange" ColorList(2) = "Yellow" ColorList(3) = "Green" ColorList(4) = "Blue" ColorList(5) = "Indigo" ColorList(6) = "Violet" FontList.Add("Times New Roman") FontList.Add("Arial") FontList.Add("Verdana") FontList.Add("Comic Sans MS") If Not Page.IsPostback Dim ColorName as String For Each ColorName in ColorList ddlColorList.Items.Add(ColorName) Next ddlFontList.DataSource = FontList ddlFontList.DataBind() End If End Sub Sub btnSelectColor_Click(sender As Object, e As EventArgs) lblOutputMessage.Text = "You selected " & _ ddlColorList.SelectedItem.Value & " text written in " & _ ddlFontList.SelectedItem.Value lblOutputMessage.ForeColor = _ System.Drawing.Color.FromName(ddlColorList.SelectedItem.Text) lblOutputMessage.Font.Name = _ ddlFontList.SelectedItem.Text End Sub Sub btnAddFont_Click(sender As Object, e As EventArgs) FontList.Add(txtAddFont.Text) ddlFontList.DataSource = FontList ddlFontList.DataBind() End Sub
</script> <html> <head> </head> <body>
<form runat="server">
Select a color from the list:<asp:DropDownList id="ddlColorList" runat="server"></asp:DropDownList>
Then select a font sytle from the list: <asp:DropDownList id="ddlFontList" runat="server"></asp:DropDownList>
<asp:Button id="btnSelectColor" onclick="btnSelectColor_Click" runat="server" Text="Click here!"></asp:Button>
<asp:Label id="lblOutputMessage" runat="server"></asp:Label>
Enter a new font for the list:<asp:TextBox id="txtAddFont" runat="server"></asp:TextBox> <asp:Button id="btnAddFont" onclick="btnAddFont_Click" runat="server" Text="Add New Font"></asp:Button>
</form>
</body> </html>
</source>
Bind arraylist elements to asp dropdown and get selected one (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <script runat="server">
Sub Page_Load() if Not Page.IsPostBack Then Dim items As New ArrayList() items.Add("Apples") items.Add("Oranges") DropDownList1.DataSource = items DropDownList1.DataBind() End If End Sub Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Label1.Text = DropDownList1.SelectedItem.Text End Sub
</script> <html> <head id="Head1" runat="server">
<title>Show IsPostBack</title>
</head> <body>
<form id="form1" runat="server">
<asp:DropDownList id="DropDownList1" Runat="server" /> <asp:Button id="Button1" Text="Select" OnClick="Button1_Click" Runat="server" /> You selected: <asp:Label id="Label1" Runat="server" />
</form>
</body> </html>
</source>
Bind ArrayList to asp:dropdownlist (VB.net)
<source lang="csharp">
<%@Page language="vb" %> <script runat="server" language="vb"> Sub Page_Load()
Dim AnimalArrayList as new ArrayList() AnimalArrayList.Add("Dog") AnimalArrayList.Add("Cat") AnimalArrayList.Add("Elephant") AnimalArrayList.Add("Lion") AnimalArrayList.Add("Cat") MyDropDownList.DataSource = AnimalArrayList MyDropDownList.DataBind()
End Sub </script> <html> <form id="Form1" method="post" runat="server"> <asp:dropdownlist id="MyDropDownList" runat="server" /> </form> </html>
</source>
Bind Color name to asp:dropdownlist (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <html> <head>
<title>Collection DataBinding Example</title> <script runat="server"> Dim FontColor As String Sub Page_Load() If Not IsPostBack Then Dim Colors As New ArrayList() Colors.Add("Red") Colors.Add("Green") Colors.Add("Blue") Color.DataSource = Colors DataBind() Color.SelectedIndex = 0 End If Output.Text = "The value for FontColor is " & _ Color.SelectedItem.Value & "." Output.ForeColor = System.Drawing.Color.FromName(Color.SelectedItem.Value) End Sub </script>
</head> <body>
Collection DataBinding Example
<form runat="server"> Choose a color from the list for the font color: <asp:dropdownlist id="Color" autopostback="True" runat="server"/>
<asp:label id="Output" runat="server"/> </form>
</body> </html>
</source>
Bind DataTable to asp:DropDownList (VB.net)
<source lang="csharp">
<%@ Page Language=VB Debug=true %> <%@ Import Namespace="System.Data" %> <script runat=server> Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
If Not IsPostBack Then Dim MyDT As New DataTable Dim MyRow As DataRow MyDT.Columns.Add(New DataColumn("DepartmentID", _ GetType(Int32))) MyDT.Columns.Add(New DataColumn("DepartmentName", _ GetType(String))) MyRow = MyDT.NewRow() MyRow(0) = 1 MyRow(1) = "Marketing" MyDT.Rows.Add(MyRow) MyRow = MyDT.NewRow() MyRow(0) = 2 MyRow(1) = "Sales" MyDT.Rows.Add(MyRow) MyRow = MyDT.NewRow() MyRow(0) = 3 MyRow(1) = "Support" MyDT.Rows.Add(MyRow) MyRow = MyDT.NewRow() MyRow(0) = 4 MyRow(1) = "Customer Service" MyDT.Rows.Add(MyRow) ddl2.DataSource = MyDT ddl2.DataBind() ddl2.Items(3).Selected=True End If
End Sub Sub ddl1_Clicked(sender As Object, e As EventArgs)
lblMessage.Text = "Preferred office color: " _ & ddl1.SelectedItem.Text & "
"
End Sub Sub ddl2_Clicked(sender As Object, e As EventArgs)
lblMessage2.Text = "ID of Department you work in: " _ & ddl2.SelectedItem.Value & "
"
End Sub </SCRIPT> <HTML> <HEAD> <TITLE>DropDownList Control Sample Page</TITLE> </HEAD> <BODY > <form runat="server"> <asp:Label
id="lblMessage" runat="server" Font-Bold="True" Text="Preferred office color:"
/>
<asp:DropDownList
id="ddl1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddl1_Clicked"
>
<asp:ListItem>Blue</asp:ListItem> <asp:ListItem>Red</asp:ListItem> <asp:ListItem>Green</asp:ListItem> <asp:ListItem Selected>Purple</asp:ListItem> <asp:ListItem>Black</asp:ListItem> <asp:ListItem>Gold</asp:ListItem>
</asp:DropDownList>
<asp:Label
id="lblMessage2" runat="server" Font-Bold="True" Text="ID of Department you work in:
"
/>
<asp:DropDownList
id="ddl2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddl2_Clicked" DataTextField="DepartmentName" DataValueField="DepartmentID" BackColor="LightYellow" ForeColor="DarkRed"
> </asp:DropDownList> </Form> </BODY> </HTML>
</source>
Bind Hashtable to DropDownList (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <script runat="server">
Dim ColorList(6) as String Dim FontList as new ArrayList() Dim QuoteList as new Hashtable() Sub Page_Load ColorList(0) = "Red" ColorList(1) = "Orange" ColorList(2) = "Yellow" ColorList(3) = "Green" ColorList(4) = "Blue" ColorList(5) = "Indigo" ColorList(6) = "Violet" FontList.Add("Times New Roman") FontList.Add("Arial") FontList.Add("Verdana") FontList.Add("Comic Sans MS") QuoteList.Add ("Quotation", "Quotation. ") QuoteList.Add ("Joke", "Joke") QuoteList.Add ("Wisdom", "Wisdom") QuoteList.Add ("Saying", "Saying") If Not Page.IsPostback Dim ColorName as String For Each ColorName in ColorList ddlColorList.Items.Add(ColorName) Next ddlFontList.DataSource = FontList ddlFontList.DataBind() ddlQuoteList.DataSource = QuoteList.Keys ddlQuoteList.DataBind() End If End Sub Sub btnSelectColor_Click(sender As Object, e As EventArgs) lblOutputMessage.Text = QuoteList(ddlQuoteList.SelectedItem.Text) lblOutputMessage.ForeColor = _ System.Drawing.Color.FromName(ddlColorList.SelectedItem.Text) lblOutputMessage.Font.Name = _ ddlFontList.SelectedItem.Text End Sub
</script> <html> <head> </head> <body>
<form runat="server">
Select a color from the list:<asp:DropDownList id="ddlColorList" runat="server"></asp:DropDownList>
Then select a font sytle from the list: <asp:DropDownList id="ddlFontList" runat="server"></asp:DropDownList>
Finally, choose your output message: <asp:DropDownList id="ddlQuoteList" runat="server"></asp:DropDownList>
<asp:Button id="btnSelectColor" onclick="btnSelectColor_Click" runat="server" Text="Click here!"></asp:Button>
<asp:Label id="lblOutputMessage" runat="server"></asp:Label>
</form>
</body> </html>
</source>
Use ArrayList to fill dropdown value (C#)
<source lang="csharp">
<%@ Page Language="C#" Debug="true" %> <script runat="server">
void Page_Load() { ArrayList list = new ArrayList(); list.Add("none"); list.Add("Canada Post"); list.Add("UPS"); list.Insert(1,"FedEx"); MyDropDownList.DataSource = list; MyDropDownList.DataBind(); }
</script> <html> <head>
<title>ArrayList Example</title>
</head> <body>
<form id="Form1" method="post" runat="server"> <asp:dropdownlist id="MyDropDownList" runat="server"></asp:dropdownlist> </form>
</body> </html>
</source>