Bir önceki makalemizde Treeview kontrolü ile seçim işlemlerine değinmiştik.Bu makalemizde ise Treeview ile oluşturduğumuz navigasyonları, programlı olarak nasıl kullanacağımızı göreceğiz.Treeview kendi içinde ilişkilendirmiş bir sınıfa sahiptir.Bu da Treeview ‘in nasıl çalışacağını, kodunu nasıl yönetebileceğimizi belirler.İlk olarak treeview kontrolü için kullanacağımız xml dosyamızı oluşturalım.
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>
Navigasyonu Programlı Olarak Genişletip,Küçültme İşlemi
İlk olarak Treeview kontrolü ile düğümlerimizi nasıl genişletip , küçültülmesini görelim.Treeview sınıfı bu işlemler için ExpandAll() ve CollapseAll() metodlarını kullanır.
Bizde bir örnekle bu metodların kullanımını görelim.
protected void Button1_Click(object sender, EventArgs e)
{
TreeView1.ExpandAll();
}
protected void Button2_Click(object sender, EventArgs e)
{
TreeView1.CollapseAll();
}
Yukarıdaki örnekte 1.Buton da bütün düğümler gösterilir.2.Butonda ise bütün düğümler gizlenir.


Şimdi ise istediğimiz bir düğüme nasıl ulaşırız onu görelim.
protected void Button4_Click(object sender, EventArgs e)
{
TreeView1.CollapseAll();
TreeView1.FindNode("Bilgisayar Donanımı").Expanded = true;
TreeView1.FindNode("Bilgisayar Donanımı/Anakart").Expanded = true;
}
Yukarıdaki örnekte ise sadece Bilgisayar Donanımı/ Anakart düğümü gösterilir.

Navigasyona Programlı Olarak Yeni Düğümler Ekleme
Yukarıdaki uygulamalarımızdan sonra şimdi gayet kullanışlı bir uygulama yapalım.Navigasyonumuza programlı olarak düğümler eklemek için Treeview kontrolünün TreeNode özelliğini kullanırız.Bu sayede istediğimiz alanın altına, düğümler ekleyebiliriz. Bunun için sayfamıza eklenecek düğüm ismi ve url için 2 adet textbox alırız.
protected void Button3_Click(object sender, EventArgs e)
{
TreeNode mynode = new TreeNode();
mynode.Text = TextBox1.Text;
mynode.NavigateUrl = TextBox2.Text;
TreeView1.FindNode("Bilgisayar Donanımı/Anakart").ChildNodes.Add(mynode);
}
Yukarıdaki örnekte bir TreeNode nesnesi tanımlayarak, textbox daki değerlerimizi tutmuş olduk.Daha sonra istediğimiz hiyerarşiye düğüm ekleyerek işlemimizi gerçekleştirdik.
Bu makelemizinde sonuna geldik.Görüldüğü üzere Treeview ile işlem yapmak oldukça kullanışlı ve basit.Bir sonraki makalemizde görüşmek dileğiyle...
Saygılarımla
Yusuf KARAKAŞ
Etiketler: treeview, treeview programlı çalışma