在线求援: ~~`关于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;