ASP.NET - The ArrayList Object

The ArrayList object is a collection of items containing a single data value.


Examples

Example 1 - ArrayList RadioButtonList

ASPX Source:

<script  runat="server">
Sub Page_Load
if Not Page.IsPostBack then
   dim mycountries=New ArrayList
   mycountries.Add("Norway")
   mycountries.Add("Sweden")
   mycountries.Add("France")
   mycountries.Add("Italy")
   mycountries.TrimToSize()
   mycountries.Sort()
   rb.DataSource=mycountries
   rb.DataBind()
end if
end sub

sub displayMessage(s as Object,e As EventArgs)
lbl1.text="Your favorite country is: " & rb.SelectedItem.Text
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
<p><asp:label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

Output Result:

 

if you click the button "france",it will show:

Your favorite country is: Frace


Example 2 - ArrayList DropDownList

ASPX Source:

<script  runat="server">
sub Page_Load
if Not Page.IsPostBack then
   dim mycountries=New ArrayList
   mycountries.Add("Norway")
   mycountries.Add("Sweden")
   mycountries.Add("France")
   mycountries.Add("Italy")
   mycountries.TrimToSize()
   mycountries.Sort()
   dd.DataSource=mycountries
   dd.DataBind()
end if
end sub

sub displayMessage(s as Object,e As EventArgs)
lbl1.text="Your favorite country is: " & dd.SelectedItem.Text
end sub
</script>

<html>
<body>

<form runat="server">
<asp:DropDownList id="dd" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
<p><asp:label id="lbl1" runat="server" /></p>
</form>

</body>
</html>


Output Result:

if you click the checkbox "Frace",it will show:

Your favorite country is: France

 


Create an ArrayList

The ArrayList object is a collection of items containing a single data value.

Items are added to the ArrayList with the Add() method.

The following code creates a new ArrayList object named mycountries and four items are added:

<script runat="server">
            Sub Page_Load
            if Not Page.IsPostBack then
            dim mycountries=New ArrayList
            mycountries.Add("Norway")
            mycountries.Add("Sweden")
            mycountries.Add("France")
            mycountries.Add("Italy")
            end if
            end sub
            </script>

By default, an ArrayList object contains 16 entries. An ArrayList can be sized to its final size with the TrimToSize() method:

<script runat="server">
            Sub Page_Load
            if Not Page.IsPostBack then
            dim mycountries=New ArrayList
            mycountries.Add("Norway")
            mycountries.Add("Sweden")
            mycountries.Add("France")
            mycountries.Add("Italy")
            mycountries.TrimToSize()
            end if
            end sub
            </script>

An ArrayList can also be sorted alphabetically or numerically with the Sort() method:

<script runat="server">
            Sub Page_Load
            if Not Page.IsPostBack then
            dim mycountries=New ArrayList
            mycountries.Add("Norway")
            mycountries.Add("Sweden")
            mycountries.Add("France")
            mycountries.Add("Italy")
            mycountries.TrimToSize()
            mycountries.Sort()
            end if
            end sub
            </script>

To sort in reverse order, apply the Reverse() method after the Sort() method:

<script runat="server">
            Sub Page_Load
            if Not Page.IsPostBack then
            dim mycountries=New ArrayList
            mycountries.Add("Norway")
            mycountries.Add("Sweden")
            mycountries.Add("France")
            mycountries.Add("Italy")
            mycountries.TrimToSize()
            mycountries.Sort()
            mycountries.Reverse()
            end if
            end sub
            </script>


Data Binding to an ArrayList

An ArrayList object may automatically generate the text and values to the following controls:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

To bind data to a RadioButtonList control, first create a RadioButtonList control (without any asp:ListItem elements) in an .aspx page:

<html>
            <body>
<form runat="server">
            <asp:RadioButtonList id="rb" runat="server" />
            </form>
</body>
            </html>

Then add the script that builds the list and binds the values in the list to the RadioButtonList control:

<script runat="server">
            Sub Page_Load
            if Not Page.IsPostBack then
            dim mycountries=New ArrayList
            mycountries.Add("Norway")
            mycountries.Add("Sweden")
            mycountries.Add("France")
            mycountries.Add("Italy")
            mycountries.TrimToSize()
            mycountries.Sort()
            rb.DataSource=mycountries
            rb.DataBind()
            end if
            end sub
            </script>
<html>
            <body>
<form runat="server">
            <asp:RadioButtonList id="rb" runat="server" />
            </form>
</body>
            </html>

The DataSource property of the RadioButtonList control is set to the ArrayList and it defines the data source of the RadioButtonList control. The DataBind() method of the RadioButtonList control binds the data source with the RadioButtonList control.

Note: The data values are used as both the Text and Value properties for the control. To add Values that are different from the Text, use either the Hashtable object or the SortedList object.

posted on 2007-01-19 16:41  改变热爱  阅读(247)  评论(0)    收藏  举报

导航