private void CreateTree(int belong, Microsoft.Web.UI.WebControls.TreeNode rootnode)
{
DataSet ds = new DataSet();
OleDbConnection conn=(new Data.DbAccess()).DbConn();
OleDbDataAdapter oda=new OleDbDataAdapter("select * from gaoxinqi where ParentNode="+belong,conn);
oda.Fill(ds);
foreach(DataRow dr in ds.Tables[0].Rows)
{
Microsoft.Web.UI.WebControls.TreeNode treenode = new Microsoft.Web.UI.WebControls.TreeNode();
treenode.Text = dr["NodeName"].ToString().Trim();
treenode.Expanded = true;
treenode.NavigateUrl="Display.aspx?uid="+dr["Id"].ToString();
treenode.Target="main";
rootnode.Nodes.Add(treenode);
int id = int.Parse(dr["Id"].ToString().Trim());
CreateTree(id, treenode);
}
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Microsoft.Web.UI.WebControls.TreeNode rootnode = new Microsoft.Web.UI.WebControls.TreeNode();
rootnode.Expanded = true;
rootnode.Text="公司信息";
rootnode.NavigateUrl="Display.aspx?uid=0";
rootnode.Target="main";
TreeView1.Nodes.Add(rootnode);
CreateTree(0, rootnode);
}
怎么样实现当有下一级结点时,单击它时它展开,不链接。当没有下一级结点时就链接。
数据库结构是这样的(简化)
Id NodeName ParentNode
1 董事办 0
2 总经办 0
3 制造部 0
4 工程部 3
5 SMT 3
{
DataSet ds = new DataSet();
OleDbConnection conn=(new Data.DbAccess()).DbConn();
OleDbDataAdapter oda=new OleDbDataAdapter("select * from gaoxinqi where ParentNode="+belong,conn);
oda.Fill(ds);
foreach(DataRow dr in ds.Tables[0].Rows)
{
Microsoft.Web.UI.WebControls.TreeNode treenode = new Microsoft.Web.UI.WebControls.TreeNode();
treenode.Text = dr["NodeName"].ToString().Trim();
treenode.Expanded = true;
treenode.NavigateUrl="Display.aspx?uid="+dr["Id"].ToString();
treenode.Target="main";
rootnode.Nodes.Add(treenode);
int id = int.Parse(dr["Id"].ToString().Trim());
CreateTree(id, treenode);
}
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Microsoft.Web.UI.WebControls.TreeNode rootnode = new Microsoft.Web.UI.WebControls.TreeNode();
rootnode.Expanded = true;
rootnode.Text="公司信息";
rootnode.NavigateUrl="Display.aspx?uid=0";
rootnode.Target="main";
TreeView1.Nodes.Add(rootnode);
CreateTree(0, rootnode);
}
怎么样实现当有下一级结点时,单击它时它展开,不链接。当没有下一级结点时就链接。
数据库结构是这样的(简化)
Id NodeName ParentNode
1 董事办 0
2 总经办 0
3 制造部 0
4 工程部 3
5 SMT 3
解决方案 »
- 如何动态更改 keywords 、description 内容 ?
- 跳楼求救,关于IIS URL重写分页问题
- 如何遍历div?? 高手指点!!
- 如何将自定义的方法应用到DataGrid的绑定列上
- 今天不问就得不到40分了
- 我很急,手头有个模块请大家帮忙,是做一个保险的管理模块,做好的1000分奖励
- 我的ASP.NET Web Matrix为什么当输入中文的时候,光标却以英文字母的速度移动,大家有遇到吗?帮忙啊!
- 请教在Web页面上用DataGrid能否实现上下滚动条或左右滚动条
- 新手求助,各位大神,麻烦进来看看
- foreach循环疑似bug
- 使用StringBuilder时如何更改某一次的字符内容?
- 100分:sqldatasource更新时候,如何在UPDATING事件中中断更新操作?
由2各种东西 1格式树枝 另一个事叶子
树枝包含叶子不能连接 叶子可以连接但不能有下级叶子所以你添加note的时候就要区分
如果有下级或者将来可能有 就说明这是一个树枝 那么不给他设置NavigateUrl属性 顺便 Value=0 没有NavigateUrl 就不会连接了
如果没有下级 就设置 NavigateUrl属性 顺便 Value=1 然后
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.SelectedNodeChanged
If Me.TreeView1.SelectedNode.Value > 0 Then
Me.TreeView1.SelectedNode.ToggleExpandState()
End If
End Sub这样就可以区分 展开和连接了按照你的表结构 部门就是 树枝 员工就是叶子