TreeView Veritabanındakı Bilgilere Göre Doldurma
-
08 Haziran 2012 Cuma 04:44
Merhaba
bu http://alquistconsulting.blogspot.com/2006/02/c-fill-treeview-with-sql-data.html linkde anlatılan şekilde yapmak istiyorum ama kodu anlamadım.
Tüm Yanıtlar
-
08 Haziran 2012 Cuma 08:25Moderatör
Bunu yapabilmeniz için veri tabanı tablonuzun self-referencing denilen yapıda olması lazım. Yani tüm sınırsız kategori yapısını tek tabloda toplamalısın. En üstteki resimde tablo yapısını göstermiş. ParentID kendi tablosunun ID alanına bağlı, ParentID = Null olanlar en üst kategori.
Daha sonra recursive denilen, yinelenen method yapman gerekiyor. Linq ile çok rahat yapılıyor, mantık şu şekilde;
(pseudo)
void Doldur()
{
liste _anaKategoriler = from k in entity where k.ParentID == null select k;
foreach(var item in _anaKategoriler)
{
treeview.add(item.Name);
AltDoldur(item.ID);
}
}
void AltDoldur(int Id)
{
liste _alt = from k in entity where k.ParentId == Id select k;
foreach(item in _alt)
{
treeview.Find("Id")[0].Add(item.Name);
if((from k in entity where k.ParentID == item.ID select k).Count()>0)
AltDoldur(Item.ID); //İşi bitiren kısım bu....
}
}
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


- Düzenleyen Önay YALÇINERModerator 08 Haziran 2012 Cuma 08:27
-
08 Haziran 2012 Cuma 08:40
hocam anlamadığım yer
DataTable table = DatabaseUtility.ExecuteDataTable (
new SqlConnectionSettings.Default.SQL_DSN), (Properties.
"select ID, ParentID, DisplayOrder, NodeType, NodeText from TableName"
);
burda DatabaseUtility nedir? connectingstrting nerde nasıl tanımladıkı yukardakı satırda kullanıyorum.
-
08 Haziran 2012 Cuma 08:57Moderatör
Framework içinde DataBaseUtility diye bir static class hatırlamıyorum belki vardır, Belkide kendi classıdır. O kısıma takılmaman gerekiyor. Sen table isimli DataTable'ı istediğin yöntemle doldurabilirsin. Örneğin SqlDataAdapter ile de doldurabilirsin.e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


- Yanıt Olarak İşaretleyen Onar Alili 08 Haziran 2012 Cuma 09:15
- Yanıt İşaretini Geri Alan Onar Alili 08 Haziran 2012 Cuma 12:00
- Yanıt Olarak İşaretleyen Onar Alili 08 Haziran 2012 Cuma 12:03
-
08 Haziran 2012 Cuma 09:04
Merhaba Onall ,
Link deki kod treeview populasyonu yaratman içindir inceleyebilirsin.
I compute therefore I am
-
08 Haziran 2012 Cuma 12:02
Arkadaşlar 5 olan yerin altına bir node daha eklemek istiyorum bu yöntemle nasıl eklerim?

-
08 Haziran 2012 Cuma 12:15ModeratörDatabase bir kayıt ekle, ParentID alanında 5 in ID si yazsın.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


-
08 Haziran 2012 Cuma 13:25
Database bir kayıt ekle, ParentID alanında 5 in ID si yazsın.
hocam onu denedim olmadı
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


-
08 Haziran 2012 Cuma 14:28Moderatörozaman yanlış bişeyler var...
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

