同志们,这棵树我终于作完了!嘻嘻,找到了一种更为简单的方法,不用button按钮,也不用重载控件的! 也就是先把树作出来,然后把需要编辑和删除的部分在cs页中用表格输出就行了。 TreeNode Node=new TreeNode() ; Node.Text="XSY"; TreeView1.Nodes.Add(Node); string sql="select id,company from zcompany"; DataSet ds=conn.executeQuery(sql); //取出总记录数 int sum=ds.Tables[0].Rows.Count; for (int i=0;i<sum;i++) { /////////////////////////////////// string str=""; str=str+("<tr>"); //str=str+("<td>"+ds.Tables[0].Rows[i]["company"]); //Response.Write("<----"+str+"----->"+"<br>"); string sqlxsdw="select * from xcompany where c_id='"+ds.Tables[0].Rows[i]["id"]+"'"; DataSet dsxsdw=conn.executeQuery(sqlxsdw); int sumxsdw=dsxsdw.Tables[0].Rows.Count; /////////////////////////////////////////////////
this.id.Text=ds.Tables[0].Rows[i]["id"].ToString(); TreeNode Node1=new TreeNode() ; Node1.Text=str+("<td>"+ds.Tables[0].Rows[i]["company"]); //加入父节点(三级单位) Node.Nodes.Add(Node1); Node.Expanded=true;
//取出三级单位 string sql0="select * from auser where zcompany='"+this.id.Text+"'and xcompany='0'"; DataSet ds0=conn.executeQuery(sql0); for(int k=0;k<ds0.Tables[0].Rows.Count;k++) { this.zid.Text=ds0.Tables[0].Rows[0]["id"].ToString(); TreeNode Node0=new TreeNode() ; Node0.Text=str+("<td>"+ds0.Tables[0].Rows[k]["tname"]+" "+"[<a href='admin_user_edit.aspx?id="+this.zid.Text+"'>编辑人员</a>] [<a href='admin_user_del.aspx?id="+this.zid.Text+"'>删除人员</a>]"); //加入子节点(三级单位人员) Node1.Nodes.Add(Node0); } Node1.Expanded=true; //默认为展开
//取出四级单位 string sql1="select * from xcompany where c_id='"+this.id.Text+"'"; DataSet ds1=conn.executeQuery(sql1); for(int j=0;j<ds1.Tables[0].Rows.Count;j++) { string c_id=ds1.Tables[0].Rows[j]["c_id"].ToString(); string auserid=ds1.Tables[0].Rows[j]["id"].ToString(); string co_name=ds1.Tables[0].Rows[0]["co_name"].ToString(); this.ViewState["ds1"]=ds1; TreeNode Node2=new TreeNode() ; Node2.Text=str+(ds1.Tables[0].Rows[j]["co_name"]); //加入子节点(四级单位) Node1.Nodes.Add(Node2); Node2.Expanded=true;
//到出四级单位人员 string sql2="select * from auser where zcompany='"+c_id+"'and xcompany='"+auserid+"'"; DataSet ds2=conn.executeQuery(sql2); for(int a=0;a<ds2.Tables[0].Rows.Count;a++) { string xcompany=ds2.Tables[0].Rows[a]["xcompany"].ToString(); string zcompany=ds2.Tables[0].Rows[a]["zcompany"].ToString(); this.ViewState["ds2"]=ds2; this.xid.Text=ds2.Tables[0].Rows[0]["id"].ToString(); TreeNode Node3=new TreeNode() ; Node3.Text=str+(ds2.Tables[0].Rows[a]["tname"]+" "+"[<a href='admin_user_edit.aspx?id="+this.xid.Text+"'>编辑人员</a>] [<a href='admin_user_del.aspx?id="+this.xid.Text+"'>删除人员</a>]"); //加入子节点(四级单位人名) Node2.Nodes.Add(Node3); Node3.Expanded=true;
} } }