| 发表于:2007-01-16 10:08:30 楼主 |
using system; using system.data; using system.data.sqlclient; using microsoft.web.ui.webcontrols; using sqlhelper; namespace webaspnet1.components { /// <summary> /// tree 的摘要说明。 /// </summary> public class tree { public static string applicationpath = "localhost "; public void bindtree(treeview treeview) { tree tree = new tree(); datatable datatable = tree.gettrees(missystem.projectname.tolower()); treeview.nodes.clear(); // 清空树 treenode rootnode = new treenode(); rootnode.text = "商品分类 "; // 给节点绑定显示值 ///作者注:此值请勿随便修改!!! rootnode.nodedata = missystem.projecttreerootnodedate; // 给节点绑定key值 rootnode.expanded = false; // 默认根结点为展开 rootnode.navigateurl = "maindesktop.aspx ";//此处应做修改 rootnode.target = "mainframe "; rootnode.imageurl = "images/05.gif "; treeview.nodes.add(rootnode); createchildnode(rootnode,datatable); // 加入所有根结点以下的结点 } public void createchildnode(treenode parentnode,datatable datatable) { datarow[] rowlist = datatable.select( "parentid= ' " + parentnode.nodedata + " ' "); foreach(datarow row in rowlist) { treenode tempnode = new treenode(); tempnode.text = row[ "title "].tostring(); tempnode.nodedata = row[ "treeid "].tostring(); tempnode.expanded = false; object obj = tempnode.nodes; string ind = (string)obj; int i = ind.indexof( ". "); if(i!=-1) { ind=ind.substring(0,i); foreach(treenode tempnode in tempnode.nodes) { if(tempnode.getnodeindex()!=ind) tempnode.expanded=false; } } //tempnode.navigateurl = row[ "url "].tostring(); tempnode.navigateurl = formatadminurl(row[ "url "].tostring()); tempnode.target = "mainframe "; parentnode.nodes.add(tempnode); createchildnode(tempnode,datatable); } } public datatable gettrees(string sproname) { ///定义类sqlhelper sqlhelper.sqlhelper sqlhelper = new sqlhelper.sqlhelper(); ///定义保存从数据库获取的结果的datareader sqldatareader dr = null; ///创建访问数据库的参数 sqlparameter[] paramlist = { sqlhelper.createinparam( "@proname ",sqldbtype.varchar,200,sproname) }; try { ///执行存储过程 sqlhelper.runproc( "pr_gettrees ",paramlist,out dr); } catch(exception ex) { ///抛出执行数据库异常 systemerror.systemlog(ex.message); throw new exception(ex.message,ex); } ///获取datatable对象 datatable dt = systemtools.convertdatareadertodatatable(dr); ///返回从数据库获取的结果 return(dt); } private string formatadminurl(string adminurl) { if(adminurl.indexof( "admins ") > -1) { return( "http:// " + applicationpath + "/ " + missystem.projectname + "/ " + adminurl); } else { return(adminurl); } } } } |
|
|
|
|