你说的是不是给每个节点都付值呀 要是用循环就可以呀 vector
解决方案 »
- 请问,DataTable.Compute方法
- 模拟登陆成功后 无法保存COOKIE
- 急求解答,关于腾讯qq的一些技术问题?
- C#读取XML,N段时间过后,XML文件却空了。
- winform下的datagridview绑定数据时如何更改单元格的值.
- 请问float如何转成char,谢谢
- 如何在DataGrid页眉中插入排序的指示箭头?
- 如何用C#实现排列组合?
- 我要再DateSet中的DateTable删除一列再绑定到DataGrid里,为什么用ds.Tables[0].Columns.RemoveAt(1);老是出错,该怎么做?
- windows media 编码器问题。急!急!急!
- .net菜鸟求助
- 请问一下如何打开被别的程序锁定的文件
{ foreach (TreeNode nd in AALnd)
{
if (nd.Value == ndID)
{
nd.Expanded = true;
if (nd.Parent != null)
{
nd.Parent.Expanded = true;
}
else
{
nd.Expanded = true;
}
}
}
}
我是这样的,但当是子节点时展开父节点就不行了
public void BindCategoryTreeVew(TreeView treeView, bool isExpanded, string sSelectedData)
{
//将获取的数据转换为 一个DataTable
DataTable dt=GetCategorys().Tables[0];
treeView.Nodes.Clear();//清空 树的所有节点
//获取与排序顺序中的筛选器以及指定的状态相匹配的所有System.Data.DataRow 数组
DataRow []rowlist=dt.Select("ParentID='-1'");
if (rowlist.Length <= 0) return;
//创建跟节点
TreeNode rootNode = new TreeNode();
//设置根节点的属性
rootNode.Text = rowlist[0]["Desn"].ToString();
//设置根节点的值
rootNode.Text = rowlist[0]["CategoryID"].ToString();
rootNode.Expanded = isExpanded;
rootNode.Selected = true;
//添加跟节点
CategoryView.Nodes.Add(rootNode);
CreateChildNode(rootNode, dt, isExpanded, sSelectedData); }======================
private void CreateChildNode(TreeNode parentNode, DataTable dt, bool isExpanded, string sSelecedData)
{
//选择数据,添加排序表达市
DataRow [] rowList = dt.Select("ParentID=" + Convert.ToInt32(parentNode.Value));
foreach (DataRow row in rowList)
{
//创建一个新的节点了
TreeNode node = new TreeNode();
node.Text = row["Desn"].ToString();
node.Value = row["CategoryID"].ToString();
node.Expanded = isExpanded;
if (node.Value == sSelecedData)
{
node.Selected = true;
}
parentNode.ChildNodes.Add(node);
//递归调用,创建其他节点
CreateChildNode(node,dt,isExpanded,sSelecedData);
}
}