ASP.NET - Obiekt ArrayList
- Poprzednia strona D binding danych w WebForms
- Następna strona Hashtable WebForms
Obiekt ArrayList jest zbiorem elementów zawierających pojedyncze wartości.
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>
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.
- Poprzednia strona D binding danych w WebForms
- Następna strona Hashtable WebForms