树形控件问题

fengxuemofa6 2011-03-10 02:53:01
类似CSDN论坛左面那个tree后面那个‘添加’是怎么实现的?贴上具体代码谢谢。
...全文
146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
jquery.treeview.js

//遍历Document,构造项目列表
function recur_travel(node, parentItem){
for(var i=0; i<node.childNodes.length; i++){
var name = node.childNodes<i>.attributes[0].value;
var value = node.childNodes<i>.tagName; //建立新节点"ul"
var ulNode = createElement("ul"); //建立新节点"li"
var liNode = createElement("li");
liNode.id = value;
liNode.className = "closed"; //returnTreeValue函数
//用于返回选定节点的值给目标输入框
liNode.innerHTML = "<a href='####' onclick='returnTreeValue(this)'>" + name + "</a>"; //这个后面再加两个href用来添加和删除
ulNode.appendChild(liNode);
parentItem.appendChild(ulNode); //递归子节点
recur_travel(node.childNodes<i>, liNode);
}
}
liladlove 2011-03-10
  • 打赏
  • 举报
回复
public void AddTree(int ParentID, TreeNode pNode)
{
DataTable dt = DBClass.getDateTable("select * from Table");
DataView dvTree = new DataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[D_Parent] = " + ParentID;

foreach (DataRowView Row in dvTree)
{
TreeNode tn = new TreeNode();
if (pNode == null)
{ //添加根节点

tn.Text = Row["D_Name"].ToString();
tn.Value = Row["D_id"].ToString();
TreeView1.Nodes.Add(tn);
//tn.ShowCheckBox = true;
tn.Expanded = true;
tn.SelectAction = TreeNodeSelectAction.SelectExpand;

AddTree(Int32.Parse(Row["D_id"].ToString()), tn); //再次递归 1
}
else
{ //添加当前节点的子节点
tn.Text = Row["D_Name"].ToString();
tn.Value = Row["D_id"].ToString();
//tn.ShowCheckBox = true;//获取或设置一个值,该值指示是否在节点旁显示一个复选框
pNode.ChildNodes.Add(tn);
tn.Expanded = true;
tn.SelectAction = TreeNodeSelectAction.SelectExpand;

//在这之前已经把父结点添加完毕!!
//再次递归 添加 父结点 的子结点
AddTree(Int32.Parse(Row["D_id"].ToString()), tn); // 2 11
}
}
}

这是我写的专门绑定TreeView的方法,DBClass.getDateTable("select * from Table")这段是从数据库得到需要绑定的数据。添加TreeView节点的话,直接把Text值和value值添加到数据库,从新绑定就行了.
shine_fly 2011-03-10
  • 打赏
  • 举报
回复
CsdnContent.prototype.addBookmark = function(node) {
197 if (!node || !this.bookmarkNode) return;
198 if (this.existsBookmark(node)) return;
199 if (!this.isGuest) this.execAction("add", node.alias);
200 var newnode = this.appendChildNode(
201 this.bookmarkNode,
202 node.alias,
203 node.title,
204 node.text,
205 node.flag,
206 node.url,
207 node.nocache,
208 "deletebookmark",
209 node.source,
210 node.reader,
211 node.target);
212 newnode.copyNodes(node);
213 this.root.doChangeNodes(node.alias);
214 if (this.isGuest) alert("已经添加到“我感兴趣的论坛”,若想保存请先登录。");
215}
fengxuemofa6 2011-03-10
  • 打赏
  • 举报
回复
有人知道不?求教。。
fengxuemofa6 2011-03-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
方法太多,基本的html就可以实现
[/Quote]能具体说个列子吗?谢谢
bdmh 2011-03-10
  • 打赏
  • 举报
回复
方法太多,基本的html就可以实现

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧