Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

Dinamik Treeview Oluşturmak İstiyorum

Arkadaşlar merhaba 
windows forma eklediğim 1 adet treeview im var bu treeview form aktifken parent veya child node lar eklemek istiyorum, eklediklerim veri tabanına yazılsın veya hepsi yazılsın, form_load da treeview veri tabanından doldurulsun yardımcı olabilirseniz, çok sevinirim.

1 Cevap

0
Bu biraz karışık bir iş. Cevabı ağacın kullandığı verilere bağli. Aşağıda bir örnek var. Yalnız bu örnek ana kategori eklemez.

void Kaydet()
{

    StringBuilder sb = new StringBuilder();
    int i, k;
    TreeNodeCollection cns;
    for (i=0;i<treeView1.Nodes.Count;i++)
    {
        cns = treeView1.Nodes[i].Nodes;
        for (k = 0; k < cns.Count; k++)
        {
            // Sonradan eklenmişse.
            if (cns[k].Name == null)
            {
                sb.Append("INSERT INTO Urunler (Adi, Kategori) VALUES (N'");
                sb.Append(cns[k].Text);
                sb.Append("', ");
                sb.Append(treeView1.Nodes[i].Name);
                sb.Append(");\r\n");
            }
            else
            {
                sb.Append("UPDATE Urunler SET Adi=N'");
                sb.Append(cns[k].Text);
                sb.Append("' WHERE Kimlik=");
                sb.Append(cns[k].Name);
                sb.Append(";\r\n");
            }
        }
    }
    SqlConnection baglanti = new SqlConnection("...");
    SqlCommand cmd = new SqlCommand(sb.ToString(), baglanti);
    baglanti.Open();
    cmd.ExecuteNonQuery();
    baglanti.Close();
}

private void Form1_Load(object sender, EventArgs e)
{

    SqlConnection baglanti = new SqlConnection("...");
    SqlCommand cmd = new SqlCommand("SELECT U.Kategori, U.Kimlik, U.Adi AS UrunAdi, K.Adi AS KategoriAdi FROM Urunler U, Kategoriler K WHERE U.Kategori=K.Kimlik", baglanti);
    baglanti.Open();
    SqlDataReader rdr = cmd.ExecuteReader();
    string kategori;
    while (rdr.Read())
    {
        kategori = rdr["Kategori"].ToString();
        if (!treeView1.Nodes.ContainsKey(kategori))
            treeView1.Nodes.Add(kategori, rdr["KategoriAdi"].ToString());
        treeView1.Nodes[kategori].Nodes.Add(rdr["Kimlik"].ToString(), rdr["UrunAdi"].ToString());
    }
    rdr.Close();
    baglanti.Close();
}


Cevaplayan: 16.09.17 17:57
cevapsitesi
102,034p 15ü