|
using System;
using System.Windows.Forms;
namespace HiyerarsikNesneTasarimi
{
public partial class Form1 : Form
{
PersonelListesi liste = new PersonelListesi();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//Personel Koleksiyonuna(Listesine) personeller ekleniyor
liste.Ekle(new Personel { ID = 1,
ParentID = 0,
Ad = "Xİsim1",
Soyad = "XSoyad1",
Unvan = "Patron" });
liste.Ekle(new Personel { ID = 2,
ParentID = 1,
Ad = "Xİsim2",
Soyad = "XSoyad2",
Unvan = "Genel Mdr" });
liste.Ekle(new Personel { ID = 3,
ParentID = 2,
Ad = "Xİsim3",
Soyad = "XSoyad3",
Unvan = "Müdür" });
liste.Ekle(new Personel { ID = 4,
ParentID = 2,
Ad = "Xİsim4",
Soyad = "XSoyad4",
Unvan = "Müdür" });
liste.Ekle(new Personel { ID = 5,
ParentID = 4,
Ad = "Xİsim5",
Soyad = "XSoyad5",
Unvan = "Müdür Yrd" });
liste.Ekle(new Personel { ID = 6,
ParentID = 5,
Ad = "İsmail",
Soyad = "Kocacan",
Unvan = "Yazılımcı Bozuntusu" });
//Personel listesindeki personellerin ParentID özelliği "0" olanlar
//yani hiyerarşinin kök personelleri çekiliyor.
foreach (Personel personel in liste.Listele().
FindAll(personel => personel.ParentID == 0))
{
treeView1.Nodes.Add(personel.ID.ToString(),
personel.Ad + " " + personel.Soyad +
" (" + personel.Unvan + ")");
}
}
private void treeView1_Click(object sender, EventArgs e)
{
//Seçili personele bağlı alt personellerin
//varsa seçilinin altına eklenmesi
if (treeView1.SelectedNode.Nodes.Count == 0)
{
int ID = int.Parse(treeView1.SelectedNode.Name);
foreach (Personel personel in liste.Listele().
FindAll(personel => personel.ParentID == ID))
{
treeView1.SelectedNode.Nodes.Add(personel.ID.ToString(),
personel.Ad + " " + personel.Soyad +
"(" + personel.Unvan + ")");
}
}
}
}
}
|