ASP.NET TreeView动态绑定数据库显示
程序员文章站
2023-02-28 19:15:07
下面是一个treeview动态的绑定3层深度的树的代码,具体的显示请查看下面网站:
点击打开链接
using system;
using system.collections;
using sy...
下面是一个treeview动态的绑定3层深度的树的代码,具体的显示请查看下面网站:
点击打开链接
using system; using system.collections; using system.configuration; using system.data; using system.web; using system.web.security; using system.web.ui; using system.web.ui.htmlcontrols; using system.web.ui.webcontrols; using system.web.ui.webcontrols.webparts; using system.data.sqlclient; using common; using dataaccess; public partial class controls_producttype2 : system.web.ui.usercontrol { producttype producttype = new producttype(); product product = new product(); protected void treeview_treenodepopulate(object sender, treenodeeventargs e) { if (e.node.childnodes.count == 0) { switch (e.node.depth) { case 0: populatecategories(e.node); break; case 1: populateproducttype(e.node); break; case 2: populateproducts(e.node); break; } } // int i = treetoxml.treetoxml(treeview1, "d:/treetoxml.xml"); } protected void page_load(object sender, eventargs e) { } //第一级节点(parentid=0) void populatecategories(treenode node) { datatable dt = new datatable(); dt = producttype.getlistbyfathernode(); if (dt.rows.count > 0) { foreach (datarow row in dt.rows) { treenode newnode = new treenode(row["producttypename"].tostring(), row["producttypeid"].tostring(),"","../webproductlist.aspx?producttypeidone="+ row["producttypeid"].tostring() +"",""); newnode.populateondemand = true; newnode.selectaction = treenodeselectaction.expand; node.childnodes.add(newnode); node.expanded = true ; } } } //第二级节点 void populateproducttype(treenode node) { datatable dt = new datatable(); queryparam queryparam = new queryparam(); queryparam.add("parentid", queryparam.relation.eq, "" + node.value + ""); dt = producttype.getlistbybranchnode(queryparam); if (dt.rows.count > 0) { foreach (datarow row in dt.rows) { treenode newnode = new treenode(row["producttypename"].tostring(), row["producttypeid"].tostring(), "", "../webproductlist.aspx?producttypeidtwo=" + row["producttypeid"].tostring() + "", ""); newnode.populateondemand = true; newnode.selectaction = treenodeselectaction.expand; node.childnodes.add(newnode); node.expanded = false ; } } } //第三个节点 void populateproducts(treenode node) { datatable dt = new datatable(); queryparam queryparam = new queryparam(); queryparam.add("producttypeitemid", queryparam.relation.eq, "" + node.value + ""); dt = product.getlist(queryparam); if (dt.rows.count > 0) { foreach (datarow row in dt.rows) { treenode newnode = new treenode(row["productname"].tostring(), row["productid"].tostring(), "", "../webproductdetaile.aspx?productid=" + row["productid"].tostring() + "", ""); //newnode.populateondemand = false; //newnode.selectaction = treenodeselectaction.none; newnode.populateondemand =true ; newnode.selectaction = treenodeselectaction.expand ; node.childnodes.add(newnode); node.expanded = false; } } } }