آموزش WebForm-شیء ArrayList

چاپ

شیء ArrayList، مجموعه ای از آیتم هاست که هر کدام از این آیتم ها دارای داده هستند.


ایجاد یک ArrayList

شیء ArrayList، مجموعه ای از آیتم هاست که هر کدام از این آیتم ها دارای داده هستند.

آیتم ها با استفاده از متد ()Add به ArrayList اضافه می شوند.

کد زیر یک شیء جدید ArrayList با عنوان mycountries ایجاد می کند و چهار آیتم به آن اضافه می کند:

<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>

به طور پیش فرض، هر شیء حاوی 16 ورودی است. شیء ArrayList می تواند تا آخرین اندازه خود، با استفاده از متد ()TrimToSize سایز دهی شود:

<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>

ArrayList همچنین می تواند از روی حروف الفبا یا بر اساس عدد با استفاده از متد ()Sort مرتب شود:

<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>

برای مرتب سازی در جهت عکس، می توان از متد ()Reverse بعد از متد ()Sort استفاده کرد:

<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>

اتصال داده ها به یک ArrayList

شیء ArrayList ممکن است به صورت اتوماتیک، متن و مقادیر را برای کنترل های زیر تولید کند:

برای اتصال کنترل RadioButtonList، ابتدا یک کنترل RadioButtonList (بدون استفاده از عنصر asp:ListItem) در یک صفحه aspx. ایجاد فرمایید:

<html>
<body>

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

</body>
</html>

سپس اسکریپتی برای ایجاد لیست و اتصال مقادیر لیست به کنترل RadioButtonList ایجاد نمایید:

مثال (آموزش WebForm-شیء ArrayList)

<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>

خروجی کد بالا:

ویژگی DataSource کنترل RaioButtonList، معادل ArrayList تنظیم شد و به عنوان منبع داده (data source) کنترل RadioButtonList تعریف شد.

متد ()DataBind کنترل RadioButtonList منبع داده (data source) را به کنترل RadioButtonList متصل می کند.

نکته: مقادیر استفاده شده هم به عنوان متن و هم به عنوان مقدار کنترل استفاده شده است. برای افزودن مقادیری که از متن مجزا هستند، هم می توان از HashTable استفاده کرد و هم از شیء SortedList.