آموزش ASP.Net به زبان ساده   >   آموزش مدل فرم های وب ASP.Net Web Forms
درس دهم : آموزش اتصال به شی داده ای ArrayList در فرم های وب ASP.Net

مقدمه :

یک ArrayList مجموعه ای از آیتم هاست که می تواند شامل یک آرایه از داده ها ( Values ) باشد .
هر آیتم جدید به وسیله متد ( )Add ، پس از تعریف خود شی ArrayList بدان اضافه می شود . کد زیر نحوه تعریف یک شی ArrayList و مقدار دهی 4 عضو برای آن را نشان می دهد :

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

نکاتی راجع به شی ArrayList :

نکته 1 : کد تعریف شی ArrayList را همانطور که در مثال فوق مشاهده کردید ، درون رویداد Page_Load صفحه قرار داده ایم ، تا به محض اجرای صفحه ، شی تشکیل شود .

نکته 2 : به صورت پیش فرض ، هر شی ArrayList برای 16 عنصر جای خالی ایجاد می کند ( حتی اگر شما عنصر کمتری در آن تعریف نمایید ( .
اما می توانید با استفاده از متد ( )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>

نکته 3 : همچنین می توانید با استفاده از متد ( )Sort ، اعضای یک 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()

            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 ( انجام عمل Data Binding ) :

یک شی ArrayList که قبلا مقدار دهی شده باشد ، می تواند به صورت اتوماتیک و با استفاده از قابلیت Data Binding ، اطلاعات اعضای خود را به کنترل های آیتم وار زیر ، متصل کند :

  • <asp:RadioButtonList>
  • <asp:CheckBoxList>
  • <asp:DropDownList>
  • <asp:Listbox>

برای اتصال کنترل های آیتم وار به شی ArrayList ، ابتدا یک کنترل ( برای مثال یک <asp:RadioButtonList> را بدون هیچ تگ آیتم آن ، یعنی <asp:ListItem> همانند کد زیر ، در صفحه ایجاد نمایید :

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

سپس کد ساخت و مقدار دهی شی ArrayList را در رویداد Page_Load صفحه ، همانند کد زیر تعریف نموده تا به محض اجرای صفحه ، شی 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 id="Form1" runat="server">
      
  <asp:RadioButtonList id="rb" runat="server" />
   </form>

</body>
</html>
خروجی مشاهده خروجی مثال

توضیحات کد مثال :

شناسه ( id ) کنترل asp:RadioButtonList در مثال فوق ، " rb " تعیین شده است . به وسیله خاصیت DataSource در کد تعریف شی ArrayList ، آن شی را به عنوان منبع داده ای برای کنترل رادیویی خود تعریف کرده ایم .

rb.DataSource=mycountries

همچنین متد ( )DataBind در کنترل <asp:RadioButtonList> ، باعث اتصال کنترل به شی داده ای و انتقال اطلاعات از آن شده است .
نکته مهم : در مثال فوق مقدار هر آیتم شی داده ای ArrayList ، به عنوان متن ( Text ) و مقدار ( Value ) برای آیتم های کنترل <asp:RadioButtonList> تعیین می شود . به علت اینکه این شی داده ای ، یک آرایه ی یک بعدی است . اما برای تعیین مقادیر متفاوت برای متن و مقدار در آیتم های کنترل های لیست وار ، بایستی از آرایه ها و اشیای داده ای دو بعدی مثل Hashtable یا SortedList که در درس های بعدی به آن خواهیم پرداخت .



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1