asp.net2005(C#)中treeview怎么动态绑定数据库和对节点进行操作怎么实现
对节点进行操作有,比如删除,加入,更新节点啊等等最好有一个具体的实例要有表的全一点的好数据库用sql和oracle都行好的再加20分绑定的不是要绑定子节点和根节点吗?请问...
对节点进行操作有,比如删除,加入,更新节点啊等等
最好有一个具体的实例 要有表的 全一点的好 数据库用sql和oracle都行
好的再加20分
绑定的不是要绑定子节点和根节点吗?请问子节点和根节点是不是要建在一个表里??有点不明白?可以见在2个表里吗?最好怎么建表?想不通 迷糊 谢谢了 回答者 展开
最好有一个具体的实例 要有表的 全一点的好 数据库用sql和oracle都行
好的再加20分
绑定的不是要绑定子节点和根节点吗?请问子节点和根节点是不是要建在一个表里??有点不明白?可以见在2个表里吗?最好怎么建表?想不通 迷糊 谢谢了 回答者 展开
3个回答
展开全部
我把我以前用的表结构先介绍下
表主要用来保存权限分类的
字段PopId权限ID主键
PopName权限名字
PostUrl链接到的URL
flid父节点ID
其中根节点的flid为0其他的父节点根据情况填写
页面实现的时候直接添加treeview控件
cs代码如下
protectedvoidPage_Load(objectsender,EventArgse)
{
bindtree(PopId);
}
privatevoidbindtree()
{
TreeView1.Nodes.Clear();
AddTree(0,(TreeNode)null);
}
publicvoidAddTree(intParentID,TreeNodepNode)
{
DataTabledt=newDataTable();
//这个是我获取数据源的代码
dt=logbll.BindPop();
DataViewdvTree=newDataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter="flid="+ParentID;
foreach(DataRowViewRowindvTree)
{
TreeNodeNode=newTreeNode();
if(pNode==null)
{//添加根节点
Node.Text=Row["PopName"].ToString();
TreeView1.Nodes.Add(Node);
//Node.Expanded=true;
AddTree(Int32.Parse(Row["PopId"].ToString()),Node);//再次递归
}
else
{//添加当前节点的子节点
Node.Text=Row["PopName"].ToString();
Node.NavigateUrl=Row["PostUrl"].ToString();
pNode.ChildNodes.Add(Node);
//Node.Expanded=true;
AddTree(Int32.Parse(Row["PopId"].ToString()),Node);//再次递归
}
}
}
如果上面的代码有什么问题,再结合实际情况修改下,毕竟完全能使用的代码很少的。
表主要用来保存权限分类的
字段PopId权限ID主键
PopName权限名字
PostUrl链接到的URL
flid父节点ID
其中根节点的flid为0其他的父节点根据情况填写
页面实现的时候直接添加treeview控件
cs代码如下
protectedvoidPage_Load(objectsender,EventArgse)
{
bindtree(PopId);
}
privatevoidbindtree()
{
TreeView1.Nodes.Clear();
AddTree(0,(TreeNode)null);
}
publicvoidAddTree(intParentID,TreeNodepNode)
{
DataTabledt=newDataTable();
//这个是我获取数据源的代码
dt=logbll.BindPop();
DataViewdvTree=newDataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter="flid="+ParentID;
foreach(DataRowViewRowindvTree)
{
TreeNodeNode=newTreeNode();
if(pNode==null)
{//添加根节点
Node.Text=Row["PopName"].ToString();
TreeView1.Nodes.Add(Node);
//Node.Expanded=true;
AddTree(Int32.Parse(Row["PopId"].ToString()),Node);//再次递归
}
else
{//添加当前节点的子节点
Node.Text=Row["PopName"].ToString();
Node.NavigateUrl=Row["PostUrl"].ToString();
pNode.ChildNodes.Add(Node);
//Node.Expanded=true;
AddTree(Int32.Parse(Row["PopId"].ToString()),Node);//再次递归
}
}
}
如果上面的代码有什么问题,再结合实际情况修改下,毕竟完全能使用的代码很少的。
展开全部
rockeylau
你的.aspx代码和.aspx.cs的代码全贴出来吗?
我也想看看。
你的.aspx代码和.aspx.cs的代码全贴出来吗?
我也想看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我把我以前用的表结构先介绍下
表主要用来保存权限分类的
字段 PopId 权限ID 主键
PopName 权限名字
PostUrl 链接到的URL
flid 父节点ID
其中 根节点的flid为0 其他的父节点根据情况填写
页面实现的时候 直接 添加treeview控件
cs代码如下
protected void Page_Load(object sender, EventArgs e)
{
bindtree(PopId);
}
private void bindtree()
{
TreeView1.Nodes.Clear();
AddTree(0, (TreeNode)null);
}
public void AddTree(int ParentID, TreeNode pNode)
{
DataTable dt = new DataTable();
//这个是我获取数据源的代码
dt = logbll.BindPop();
DataView dvTree = new DataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "flid = " + ParentID;
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["PopName"].ToString();
TreeView1.Nodes.Add(Node);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["PopName"].ToString();
Node.NavigateUrl = Row["PostUrl"].ToString();
pNode.ChildNodes.Add(Node);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归
}
}
}
如果上面的代码有什么问题,再结合实际情况修改下,毕竟完全能使用的代码很少的。
表主要用来保存权限分类的
字段 PopId 权限ID 主键
PopName 权限名字
PostUrl 链接到的URL
flid 父节点ID
其中 根节点的flid为0 其他的父节点根据情况填写
页面实现的时候 直接 添加treeview控件
cs代码如下
protected void Page_Load(object sender, EventArgs e)
{
bindtree(PopId);
}
private void bindtree()
{
TreeView1.Nodes.Clear();
AddTree(0, (TreeNode)null);
}
public void AddTree(int ParentID, TreeNode pNode)
{
DataTable dt = new DataTable();
//这个是我获取数据源的代码
dt = logbll.BindPop();
DataView dvTree = new DataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "flid = " + ParentID;
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["PopName"].ToString();
TreeView1.Nodes.Add(Node);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["PopName"].ToString();
Node.NavigateUrl = Row["PostUrl"].ToString();
pNode.ChildNodes.Add(Node);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归
}
}
}
如果上面的代码有什么问题,再结合实际情况修改下,毕竟完全能使用的代码很少的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询