ASP.NET - Obiekt ArrayList

Obiekt ArrayList jest zbiorem elementów zawierających pojedyncze wartości.

Przykład

ArrayList DropDownList

ArrayList RadioButtonList

Tworzenie ArrayList

Obiekt ArrayList jest zbiorem elementów zawierających pojedyncze wartości.

Dodawanie elementów do ArrayList za pomocą metody Add():

Poniższy kod tworzy nowy obiekt ArrayList o nazwie mycountries i dodaje do niego cztery elementy:

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

Domyślnie, obiekt ArrayList zawiera 16 elementów. Można go dostosować do ostatecznego rozmiaru za pomocą metody TrimToSize():

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

Poprzez metodę Sort(), obiekt ArrayList może być sortowany alfabetycznie lub numerycznie:

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

Aby osiągnąć odwróconą kolejność sortowania, zastosuj metodę Reverse() po Sort():

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

Przypisanie danych do ArrayList

Obiekt ArrayList automatycznie generuje tekst i wartości dla poniższych kontrolki:

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

Aby przypisać dane do kontrolki RadioButtonList, najpierw utwórz kontrolkę RadioButtonList na stronie .aspx (proszę zauważyć, że nie ma żadnych elementów asp:ListItem):

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

Następnie dodaj skrypt do budowania listy i powiąż wartości z kontrolką RadioButtonList:}}

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("China")
  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>

Wyświetl ten przykład

Atrybut DataSource kontrolki RadioButtonList ustawiony jest na ten ArrayList, który definiuje źródło danych dla kontrolki RadioButtonList. Metoda DataBind() kontrolki RadioButtonList łączy kontrolkę z źródłem danych.

Uwaga:Wartości danych są używane jako atrybutów Text i Value kontrolki. Aby dodać wartość różną od Text, można użyć obiektu Hashtable lub obiektu SortedList.