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
Post a Comment