日期:2014-05-18  浏览次数:21112 次

查询当前节点的value值
string Aid = this.TreeView1.SelectedNode.Value;
这样查询的话, 只能查询到叶节点的value ,如果该节点下边还有子节点的话就查询不了了. 
各位大侠指点下. 有没有别的好方法.. 麻烦给出详细代码.. 谢谢!!

 没啥分了 给不了高分哦!!

------解决方案--------------------
对SelectedNode的子节点递归
------解决方案--------------------
在sql中寫就可以了,假設表中保護Curid(當前id),parentid(父id),
sql="select * from 表名 where Curid="+Convert.ToInt32(Aid)+" or parentid="+Convert.ToInt32(Aid)
------解决方案--------------------
private List<string> aids = new List<string>();

/// <summary>
/// 递归获得子节点值,并加入List
/// </summary>
/// <param name="node">父节点</param>
private void GetChildNodesValue(TreeNode node)
{
foreach (TreeNode childNode in node.Nodes)
{
aids.Add(childNode.Value);
GetChildNodesValue(childNode);
}
}

/// <summary>
/// 获得当前选中节点及子节点值的List
/// </summary>
public void SetValueList()
{
aids.Clear();
TreeNode selectedNode = this.TreeView1.SelectedNode;
if (selectedNode == null)
{
return;
}
aids.Add(selectedNode.Value);
GetChildNodesValue(selectedNode);
}

然后直接使用aids就可以了,遍历什么的
------解决方案--------------------

你去找个加载TreeView加载目录的代码吧。和那差不了太多的。
就是判断一下当前结点的子结点是否为空。