我给你我的代码
public void InitTree(TreeView treeDept)
初始化代码树代码
{ treeDept.Nodes.Clear();
TreeNode nodeDept=new TreeNode();
nodeDept.ID="0";
nodeDept.Text="部门机构";
nodeDept.NodeData="-1";
treeDept.Nodes.Add(nodeDept);
dsDept=dataObject.GetDeptDataSet();
InitDeptTree(nodeDept,"0");
nodeDept.Expanded=true;
}
//初始化树递归过程
private void InitDeptTree(TreeNode nodeDept, string strDeptId)
{
string strCondition="ParentId='"+strDeptId+"'";
DataRow[] row=dsDept.Tables[0].Select(strCondition); for(int i=0; i<=row.GetUpperBound(0);i++)
{
TreeNode nodeTemp=new TreeNode();
nodeTemp.ID=row[i][0].ToString();
nodeTemp.Text=row[i][1].ToString();
nodeTemp.NodeData=row[i][2].ToString();
nodeDept.Nodes.Add(nodeTemp);
InitDeptTree(nodeTemp,nodeTemp.ID);
}
}
//在点击了某个节点后刷新该节点,你可以转成建下一曾数据
public void RefreshTree(TreeView treeDept)
{
TreeNode nodeDept=CurrentNode(treeDept);//这些你都知道吧取当前被选择节点的属性,我写成过程了。
string strDeptId=GetDeptId(treeDept);
dsDept=dataObject.GetDeptDataSet();
nodeDept.Nodes.Clear();
InitDeptTree(nodeDept,strDeptId);
nodeDept.Expanded=true;
}
public void InitTree(TreeView treeDept)
初始化代码树代码
{ treeDept.Nodes.Clear();
TreeNode nodeDept=new TreeNode();
nodeDept.ID="0";
nodeDept.Text="部门机构";
nodeDept.NodeData="-1";
treeDept.Nodes.Add(nodeDept);
dsDept=dataObject.GetDeptDataSet();
InitDeptTree(nodeDept,"0");
nodeDept.Expanded=true;
}
//初始化树递归过程
private void InitDeptTree(TreeNode nodeDept, string strDeptId)
{
string strCondition="ParentId='"+strDeptId+"'";
DataRow[] row=dsDept.Tables[0].Select(strCondition); for(int i=0; i<=row.GetUpperBound(0);i++)
{
TreeNode nodeTemp=new TreeNode();
nodeTemp.ID=row[i][0].ToString();
nodeTemp.Text=row[i][1].ToString();
nodeTemp.NodeData=row[i][2].ToString();
nodeDept.Nodes.Add(nodeTemp);
InitDeptTree(nodeTemp,nodeTemp.ID);
}
}
//在点击了某个节点后刷新该节点,你可以转成建下一曾数据
public void RefreshTree(TreeView treeDept)
{
TreeNode nodeDept=CurrentNode(treeDept);//这些你都知道吧取当前被选择节点的属性,我写成过程了。
string strDeptId=GetDeptId(treeDept);
dsDept=dataObject.GetDeptDataSet();
nodeDept.Nodes.Clear();
InitDeptTree(nodeDept,strDeptId);
nodeDept.Expanded=true;
}
Private Sub tvTree_SelectedIndexChange(ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles tvTree.SelectedIndexChange
Dim olNode, neNode As Microsoft.Web.UI.WebControls.TreeNode
'Response.Write(txShowMsg(tvTree.SelectedNodeIndex.ToString))
olNode = tvTree.GetNodeFromIndex(tvTree.SelectedNodeIndex.ToString)
If olNode.Nodes.Count > 0 Then
olNode.Expanded = True
Return
End If
Dim ndata As String
ndata = olNode.NodeData()
Dim sql, user_id As String
user_id = Request.Cookies("USER_ID").Value
sql = "Select MCODE,MNAME,WF_URL from SYS_MENU Where PERENT_CODE='" + ndata + _
"' And MCODE In (Select MENU_CODE from USER_POWER Where USER_ID='" + user_id + "') Order By MCODE,MNAME"
Dim oconn As OleDbConnection = New OleDbConnection(txGetDBConnStr())
Dim ocmd As OleDbCommand = New OleDbCommand(sql, oconn)
oconn.Open()
Dim odr As OleDbDataReader
odr = ocmd.ExecuteReader()
While odr.Read()
neNode = New Microsoft.Web.UI.WebControls.TreeNode()
neNode.NodeData = odr.GetValue(0)
neNode.Text = odr.GetValue(1)
If odr.GetValue(2) Is DBNull.Value Then
neNode.NavigateUrl = ""
Else
If odr.GetValue(0) <> "51" Then
neNode.NavigateUrl = odr.GetValue(2) + txGetxf(True)
Else
neNode.NavigateUrl = odr.GetValue(2)
End If
End If
neNode.ExpandedImageUrl = "img\images\html.gif"
neNode.ImageUrl = "img\images\html.gif"
neNode.Target = "dright"
olNode.Nodes.Add(neNode)
End While
olNode.Expanded = True
odr.Close()
oconn.Close()
End Sub
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=496821.下载地址
http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp
安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里2.运行时无法显示
一般是TreeView的版本问题,最好下载英文版自动安装版本重新安装,安装前应该先到添加删除程序里卸掉原版本3.显示格式出错(非树状显示)
TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.04.框架里使用TreeView
设置NavigateUrl、Target属性,可更新另外的Frame5.找不到TreeNode类
使用TreeView,最好添加namespace:using Microsoft.Web.UI.WebControls;6.遍历TreeView节点(递归算法)
private void Page_Load(object sender, System.EventArgs e)
{
GetAllNodeText(TreeView1.Nodes);
}
void GetAllNodeText(TreeNodeCollection tnc)
{
foreach(TreeNode node in tnc)
{
if(node.Nodes.Count!=0)
GetAllNodeText(node.Nodes);
Response.Write(node.Text + " ");
}
}7.得到node结点的父节点
TreeNode pnode;
if(node.Parent is TreeNode)
pnode=(TreeNode)node.Parent;
else
//node is root node
11.得到所选节点的Text,ID或NodeData
function GetAttribute()
{
alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));
}
替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData
11.得到所选节点的Text,ID或NodeData
function GetAttribute()
{
alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));
}
替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData