如何控制TreeView节点默认状态下节点闭合的! 问题如题谢谢大家!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TreeNode tn = new TreeNode();tn.Expanded = false; 合并tn.Expanded = true; 打开 //建树的基本思路是:从根节点开始递归调用显示子树 private void InitTree(TreeNodeCollection Nds,string parentId) { DataView dv=new DataView(); TreeNode tmpNd; string intId; dv.Table=ds.Tables["tree"]; if (parentId == "") { dv.RowFilter = "ParentId is null"; } else { dv.RowFilter = "ParentId = "+parentId; } //dv.RowFilter="ParentId='" + parentId + "'"; foreach(DataRowView drv in dv) { tmpNd=new TreeNode(); tmpNd.ID=drv["NodeId"].ToString(); tmpNd.Text=drv["NodeName"].ToString(); tmpNd.ImageUrl="images/"+drv["Icon"].ToString(); tmpNd.NavigateUrl="/"+drv["Address"].ToString(); Nds.Add(tmpNd); intId=drv["ParentId"].ToString(); InitTree(Nds[Nds.Count-1].Nodes,tmpNd.ID); } } 搞定啦谢谢 lcj20040909(阿Q的辫子) 如果你要在你初始化树的时候指定树的节点为打开状态 我的做法是在数据库里面家一个字段表示是否打开 如果是则在 foreach 里面 添加:tmpNd.Expanded = ( drv["IsExpanded"].tostring() = "打开" ) ? true : false;如果只是点+的时候打开则不必要 上面代码就能够实现 如果你需要在初始化的时候定义哪些节点的状态是打开的我的做法是:在数据库里面加一个字段 表示打开或者关闭在foreach里面加一句tmpNd.Expanded = ( drv["IsExpanded"].ToString() == "打开" ) ? true : false;如果只是一般的显示 就是 点 + 的时候才打开 则没有必要你的这段代码就足够了 反射 泛型 怎么使用ping命令或者cmd命令,返回域名的IP地址? 大家帮忙看下这是什么错误! C#桌面程序的resx文件过大怎么解决 请教下服务器端生成的 excel如何下载到客户端 如何让Windows服务显示一个Form与用户交互,在线等 自己构件PKI和CA(1)--选运行平台,加密开发包等的各种可能方案 求大神帮忙 控件中的滚动条 新手请教 类型转换问题 先谢了 超弱问题!!!在线给分! 如何实现该验证过程
tn.Expanded = false; 合并
tn.Expanded = true; 打开
private void InitTree(TreeNodeCollection Nds,string parentId)
{
DataView dv=new DataView();
TreeNode tmpNd;
string intId;
dv.Table=ds.Tables["tree"];
if (parentId == "")
{
dv.RowFilter = "ParentId is null";
}
else
{
dv.RowFilter = "ParentId = "+parentId;
}
//dv.RowFilter="ParentId='" + parentId + "'";
foreach(DataRowView drv in dv)
{
tmpNd=new TreeNode();
tmpNd.ID=drv["NodeId"].ToString();
tmpNd.Text=drv["NodeName"].ToString();
tmpNd.ImageUrl="images/"+drv["Icon"].ToString();
tmpNd.NavigateUrl="/"+drv["Address"].ToString();
Nds.Add(tmpNd);
intId=drv["ParentId"].ToString();
InitTree(Nds[Nds.Count-1].Nodes,tmpNd.ID); }
}
tmpNd.Expanded = ( drv["IsExpanded"].tostring() = "打开" ) ? true : false;
如果只是点+的时候打开则不必要 上面代码就能够实现
我的做法是:在数据库里面加一个字段 表示打开或者关闭
在foreach里面加一句
tmpNd.Expanded = ( drv["IsExpanded"].ToString() == "打开" ) ? true : false;
如果只是一般的显示 就是 点 + 的时候才打开 则没有必要你的这段代码就足够了