c# - Binding recursive treeView -


i'm developping windows form application on visual sudio , first time treeview. project has ado .net entity data model of , sql database, have 3 tables relations:

  • category (idcategory, namecategory)
  • subcategory (idsubcategory, namesubcategorie, idcategory)
  • articles (idarticle, namearticle, idsubcategory)

i'm trying create treeview recursion database result below, i'm stuck here can me please? here want show:

+category1    +subcategory1-1       article1       article2       article3    +subcategory1-2       article1       article2       article3    +subcategory1-3       article1       article2       article3 +category2    +subcategory2-1       article1       article2       article3    +subcategory2-2       article1       article2       article3    +subcategory2-3       article1       article2       article3 

a template code binding recursive treeview database usinf linq or tutorial link shows how helpfull! thanks.

i think might you, here populating 3 tables in code only, can directly database also...

protected void page_load(object sender, eventargs e)     {         if (!ispostback)         {             bind();         }     }     public void bind()     {         datatable dt = get_category();         (int = 0; < dt.rows.count; i++)         {             treenode node = new treenode();             node.text = dt.rows[i]["idcategory"].tostring();             node.value = dt.rows[i]["namecategory"].tostring();             addsubcategory(node);             this.treeview1.nodes.add(node);         }     }     public void addsubcategory(treenode node)     {         datarow[] datarows = get_subcategory()                              .select("idcategory='" + node.value + "'");         foreach (datarow dr in datarows)         {             treenode childnode = new treenode();             childnode.text = dr["namesubcategory"].tostring();             childnode.value = dr["idsubcategory"].tostring();             addarticles(childnode);             node.childnodes.add(childnode);         }     }     public void addarticles(treenode node)     {         datarow[] datarows = get_articles()                             .select("idsubcategory='" + no.value + "'");         foreach (datarow dr in datarows)         {             treenode childnode = new treenode();             childnode.text = dr["subject"].tostring();             childnode.value = dr["subjectid"].tostring();             node.childnodes.add(childnode);         }     }     public datatable get_category()     {         datatable dt = new datatable();         datarow dr;         string ids = "1,2,3,4";         string categories = "category1,category2,category3,category4";         string[] list1 = ids.split(',');         string[] list2 = categories.split(',');         dt.columns.add(new datacolumn("namecategory"));         dt.columns.add(new datacolumn("idcategory"));         (int = 0; < list1.length; i++)         {             dr = dt.newrow();             dr["idcategory"] = list1[i];             dr["namecategory"] = list2[i];             dt.rows.add(dr);         }         return dt;     }     public datatable get_subcategory()     {         datatable dt = new datatable();         datarow dr;         string ids = "1,2,3,4,5,6,7,8,9";         string subcategories = "subcategory1, subcategory2, subcategory3,                                  subcategory4, subcategory5, subcategory6,                                  subcategory7, subcategory8, subcategory9";         string idcategory = "1,2,3,4,1,2,3,4,1";         string[] list1 = ids.split(',');         string[] list2 = subcategories.split(',');         string[] list3 = idcategory.split(',');         dt.columns.add(new datacolumn("namesubcategory"));         dt.columns.add(new datacolumn("idsubcategory"));         dt.columns.add(new datacolumn("idcategory"));         (int = 0; < list1.length; i++)         {             dr = dt.newrow();             dr["idsubcategory"] = list1[i];             dr["namesubcategory"] = list2[i];             dr["idcategory"] = list3[i];             dt.rows.add(dr);         }         return dt;     }     public datatable get_articles()     {         datatable dt = new datatable();         datarow dr;         string ids = "1,2,3,4,5,6,7,8,9,10,11,12,13";         string articles = "articles1, articles2, articles3,articles4,                             articles5, articles6, articles7, articles8,                             articles9, articles10, articles11, articles12,                             articles13";         string idsubcategory = "8,2,9,2,7,2,3,4,1,5,6,7,1";         string[] list1 = ids.split(',');         string[] list2 = articles.split(',');         string[] list3 = idsubcategory.split(',');         dt.columns.add(new datacolumn("namearticle"));         dt.columns.add(new datacolumn("idarticle"));         dt.columns.add(new datacolumn("idsubcategory"));         (int = 0; < list1.length; i++)         {             dr = dt.newrow();             dr["idarticle"] = list1[i];             dr["namearticle"] = list2[i];             dr["idsubcategory"] = list3[i];             dt.rows.add(dr);         }         return dt;     } 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -