日期:2014-05-17  浏览次数:20521 次

在线求援: ~~`关于DOM递归实现无限级树效果!欢迎大家都来指点下,回复者都有分 下班后皆分 谢谢
各位大师:
  要求用递归实现如下树的效果:

  -车
  ---汽车
  ---摩托车
  ---火车
  -船
  ---轮船
  ---汽艇
  ---小舟
且点击后可以伸缩;
能实现无限级 最好;

------解决方案--------------------
幫頂~我用的樹有點不一樣
給你個大概的思路,希望能幫到忙
private void nodeBind(System.Data.DataTable dt , Infragistics.WebUI.UltraWebNavigator.Nodes node)
{
if( dt.Rows.Count > 0 )
{
for( int i = 0 ; i < dt.Rows.Count ; i++)
{
if(dt.Rows[i]["Parent_guid"].ToString() == "root")
node.Add(dt.Rows[i]["cate_name"].ToString(),dt.Rows[i]["cate_guid"].ToString());
else
node.Add(dt.Rows[i]["cate_name"].ToString(),dt.Rows[i]["cate_guid"].ToString());
}
}
else
{
return;
}
for(int j = 0 ; j < dt.Rows.Count ; j++)
{
string cate = dt.Rows[j]["cate_guid"].ToString();
string str = "select a.* from cate a where a.parent_guid = '"+cate+"'";
this.m_SystemConnection.SQL = str;
DataTable dd = this.m_SystemConnection.GetDt();
nodeBind(dd ,node[j].Nodes);
}
}
這里的數據庫有有個parent_guid 標識節點的上一級
------解决方案--------------------
是不是动态加菜单啊?
 protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AddNode(TreeView1);
TreeView1.CollapseAll();
}
}
private void AddNode(TreeView treeView)
{
for (int i = 0; i < 10; ++i)
{
TreeNode parentTreeNode = new TreeNode(i.ToString());
for (int j = 0; j < 10; ++j)
{
TreeNode clientTreeNode = new TreeNode(j.ToString());
parentTreeNode.ChildNodes.Add(clientTreeNode);
}
treeView.Nodes.Add(parentTreeNode);
}
}

------解决方案--------------------
顶了
------解决方案--------------------
我也顶下.学习
------解决方案--------------------
up
------解决方案--------------------
mark,学习下。
------解决方案--------------------
用递归算法就行了么
------解决方案--------------------
试试1楼的方法
------解决方案--------------------
mark
------解决方案--------------------
jf
------解决方案--------------------
转:
public partial class DefaultTree : System.Web.UI.Page
{

string sql = null;
SqlDataAdapter da = null;
SqlConnection con = new SqlConnection("server=(local);database=****;uid=**;pwd=**");
int j = 0;
int count = 0;
int depth = 0;
ArrayList dep = new ArrayList();
DataSet TreeTable = new DataSet();
public string html = "";

protected void Page_Load(object sender, EventArgs e)
{

if (!Page.IsPostBack)
{


//GetUserName("admin");
}
}




//判断父亲接点是否还有兄弟
public bool JudgeBrother(string current, int i)
{
string nextnode;