Oca202009

TreeView Kontrolü ile Seçim İşlemleri

Yusuf Karakaş tarafindan 16:13 tarihinde Asp.Net kategorisine eklenmistir.

Treeview kontrolü esas olarak navigasyon işlemlerimizde bizlere büyük kolaylıklar sağlar.Çoğu zaman hiyerarşik bir yapıda kullanabiliriz…

Ancak treeview kontrolünün  önemli özelliklerinden biride, listedeki hiyerarşik  öğelerin yanına checkbox koyarak,

kullanıcıların birden fazla nseçim yapabilmelerine olanak sağlamasıdır.Bu bağlamda  e ticaret portallarında , bu tür uygulamalar gayet kullanışlıdır.

TreeView kontrolü  kendi bünyesinde ShowCheckBoxes adında bir özellik içerir.
 Bu özellik sayesinde TreeView düğümlerine, isteğimiz doğrultusunda onay kutusu uygularız.

Şimdi bu değerleri ayrıntılı bir şekilde görelim. 

 

ShowCheckBoxes Değerleri

All:                  Treeviev kontrolündeki her düğüme onay kutuları uygular.

 

Leaf:               Ek Çocuk elemanlara sahip olmayan düğümlere onay kutusu ekler.

 

None:              hiçbir düğüme onay kutusu atanmaz.

 

Parent:            ebeveyn düğümlere onay kutusu atanır.

 

Root:               Kök düğümlere onay kutusu atanır.

 

Aşağıdaki örnek uygulamada showCheckBoxes  leaf değerini kullandım.Sizlerde ihtiyacınıza göre istediğiniz değeri kullanabilirsiniz.

 Donanim.xml 


<?xml version="1.0" encoding="utf-8" ?>

<Donanım>

  <Item Category="Anakart">

    <Option Chocie="intel"/>

    <Option Chocie="Asus"/>

    <Option Chocie="Ati"/>

  </Item>

  <Item Category="Hafıza">

    <Option Chocie="1 gb"/>

    <Option Chocie="2 gb"/>

    <Option Chocie="3 gb"/>

  </Item>

  <Item Category="Hard Disk">

    <Option Chocie="120 gb"/>

    <Option Chocie="200 gb"/>

    <Option Chocie="300 gb"/>

  </Item> 
</Donanım> 


Default.aspx 


<body>


    <form id="form1" runat="server">


    <div>


        <asp:TreeView ID="TreeView1" runat="server" Font-Underline="false" DataSourceID="Xmldatasource1" ShowCheckBoxes="leaf">


           <DataBindings>


        <asp:TreeNodeBinding DataMember="Donanım" Text="Bilgisayar Donanımı" />

        <asp:TreeNodeBinding  DataMember="Item" TextField="Category"/>

        <asp:TreeNodeBinding DataMember="Option" TextField="Chocie" />    

            </DataBindings>

        <SelectedNodeStyle Font-Underline="true" />   

                </asp:TreeView>
       
<asp:XmlDataSource ID="XmlDataSource1" DataFile="donanim.xml" runat="server"></asp:XmlDataSource>
   
</div>


    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Seç" />


    </form>


</body>

 Ve son olarak da Default.aspx.cs ile kodlarımızı görelim… 

protected void Button1_Click(object sender, EventArgs e)


    {


        if (TreeView1.CheckedNodes.Count > 0)


        {            

 Response.Write("Seçmiş olduğun pc" + "<br>");     

        foreach (TreeNode node in TreeView1.CheckedNodes)


            {


  Response.Write ( node.Text + " " + node.Parent.Text + "<br>");  

           } 

        }

         else
        {        

    Response.Write("Lütfen bi seçim yapınız");       

}   

 } 

 Açıklamalar: 

//Postbackte seçilen düğümlerin sayısının sıfırdan büyük olduğunu gösterir.Buda en azından  bir seçim yapıldığının göstergesidir.

   if (TreeView1.CheckedNodes.Count > 0)

 //Bir TreeNode nesnesi oluşturur ve seçilen düğümlerdeki treeviev nesnelerini kontrol eder.


foreach (TreeNode node in TreeView1.CheckedNodes)
            {              }  

// Seçilen her düğüm için , düğümlerin text değerini ve bu düğümlerin ebeveyn text değerlerini, alarak response.write içeriğini doldurur.  

Response.Write ( node.Text + " " + node.Parent.Text + "<br>"); 

 

Örnek Uygulama Görüntüsü aşağıdaki gibidir...

 

 

 İyi Çalışmalar...

Yusuf KARAKAŞ
Saygılarımla...



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Etiketler:

E-Posta | Permalink | Geri izlemeler | Yazi RSSRSS comment feed 1 Yorum

Yorumlar