Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > TreeView Kontolü
Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
18.01.2008-21:39 #35225
TreeView kotrolü ile verilerin hiyerarjik olarak, bir ağaç görünümünde düzenlenmesi mümkündür. Bir Oluşan ağacın düğümleri kapalı yada açık tutulabilir.

TreeView kontrolünün sayfa açıldığında tamamen açık yada kapalı olarak görünmesini sağlamak mümkündür. Eğer sayfa açıldığı zaman TreeView kontolünün kapalı olarak gözükmesini istiyorak CollapseAll() olayını, açık olarak gözükmesini isiyosak ExpandAll() olayını kullanırız.

protected void Page_Load(object sender, EventArgs e)
{

TreeViewPanel.CollapseAll();

}

İsterseniz herhangi bir kontol ile de açılıp-kapanabilmeyi de ayarlayabilirsiniz. Button kontolünün click olayı gibi. TreeView kontolüne farklı yollardan veri bağlamak mümkündür. Bunlar:

1.XML Dosyası
2.SiteMapDataSource
3.TreeView Task yöneticisinin “Edit Node” özelliğini kullanmak
4.Dinamik olarak (Başka bir makalede anlatılacaktır.)

1. TreeView Kotrolüne Bir XML dosyası ile veri Bağlamak

Öncelikle projemize bir XML dosyası ekleyip, itediğimiz gibi düzenliyoruz.

<?xml version="1.0" encoding="utf-8" ?>
<SiteMenu>
<Sayfa Title="Default" URL="Default.aspx">
<Sayfa Baslik="Veri Ekle" URL="Veri_Ekle.aspx"/>
<Sayfa Baslik="Veri Sil" URL="Veri_Sil.aspx"/>
<Sayfa Baslik="Veri Düzenle" URL ="Veri_Duzenle.aspx" />
</Sayfa>
</SiteMenu>

Şimdi ise sayfamıza bir tabe XMLDataSource yerleştirip, verileri bağlıyoruz.

<asp:XmlDataSource ID="XmlDataSourceMenu" DataFile="Menu.xml"
XPath="SiteMenu/Sayfa"
runat="server">
</asp:XmlDataSource>

Şimdi ise TreeView’e XmlDataSource veri kaynağınız bağlıyoruz. Fakat işlemimiz bitmiyor.
Şimdi ise XML de bulunan düğümleri TreeView kontrolüne <DataBindings> tagı ile bağlıyoruz.
<DataBindings>
<asp:TreeNodeBinding DataMember="Sayfa" TextField="Title" NavigateUrlField="URL"/>
</DataBindings>

DataMember özelliği bir menu öğesindeki XML düğümlerinin ismidir. (Bu örnekte Sayfa)
TextField TreeView de gözükecek olan metni verir(Bu örnekte Baslik) NavigateURLField ise XML düğümlerinde URL adrelerinin atandığı öğedir.

2. TreeView kontolüne SiteMapDataSource ile Veri Bağlamak

Bir TreeView kontolüne SiteMapDataSource kaynağı ilede veri bağlamak mümkündür. Bu veri kaynağı özel bir XML doyası olan ve ana web dizininde bulunan Web.Sitemap’i kullanır. Web.Sitemap dosyası TreeView kontrolü ile bir site menüsü oluşturmak için gerekli girdilerin
oluşmasını sağlar.

Şimdi ise sayfamıza Sitemap ekliyoruz.

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="Default.aspx" title="Ana Sayfa " >
<siteMapNode url="Veri_Ekle.aspx" title="Veri Ekle" description="" />
<siteMapNode url="Veri_Sil.aspx" title="Veri Sil" description="" />
<siteMapNode url="Veri_Duzenle.aspx" title="Veri Güncelle" />
</siteMapNode>
</siteMap>

Daha sonra ise TreeView’ın veri kaynağına SiteMapDataSource ü bağlıyoruz ve otomatik olarak verilerin bağlandığı gözlemliyoruz.

<asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1">
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

http://www.asepedatnet.com/makale_goster.aspx?Id=68





Ortam sanal olsa da, islenen suc gercektir...

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb