c# 实现treeview节点展开折叠 请教了,我添加了一个treeview1控件,想通过点击节点前的加号展开节点,展开后点击减号来折叠节点,请教要怎么实现啊,谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个是Treeview自带的功能你只需为Treeview绑定数据源就可以了。 真实的,treeview再没有这个功能,还叫什么treeview呀 treeview绑定数据源后就会自带这个功能,如果你的树是广度优先的话treeview有一个事件是点击节点 这个是Treeview自带的功能你只需为Treeview绑定数据源就可以了。 private void CreateTreeViewRecursive(TreeNodeCollection nodes, DataTable dataSource, int parentId) { // string fliter = String.Format("ParentId={0}", parentId); // 查询子节点 DataRow[] drArr = dataSource.Select(fliter); TreeNode node; foreach (DataRow dr in drArr) { // node = new TreeNode(); nodes.Add(node); node.Text = (string)dr["NodeName"]; // 设置其他属性 // // 递归创建子节点 int dr1 = Convert.ToInt16(dr["NodeId"].ToString()); CreateTreeViewRecursive(node.ChildNodes, dataSource, dr1); // 移除已添加行,提高性能 dataSource.Rows.Remove(dr); } }创建节点代码,请教是不是有问题啊? 你的Treeview分几级?若级数固定,你能不能不用递归?若你要用递归 int dr1 = Convert.ToInt16(dr["NodeId"].ToString()); CreateTreeViewRecursive(node.ChildNodes, dataSource, dr1);你这里该有判断吧,不可能一进来就调用递归塞,你这样就不是加子节点了,而全部都成了父节点。 背景色为什么会跑到前景色的上层去? 动态添加控件执行语句 c# 画图函数 mycontroll是什么 高手求助:【求一组节点的生成树】 引用同一性的问题 小弟初学C#2005 请教个基础得不能再基础的问题 请推荐除PowerDesign之外的数据建模工具 现在在为我们小组开发的系统写一个软件版本升级程序!大家会的进来帮忙一下啊!谢谢 喇叭不见了,声音也没了,一定要重装吗? 文本框中输入日期格式 如何移动PANEL及包含控件? 求助,关于txt文件上传数据库
你只需为Treeview绑定数据源就可以了。
你只需为Treeview绑定数据源就可以了。
{
//
string fliter = String.Format("ParentId={0}", parentId);
// 查询子节点
DataRow[] drArr = dataSource.Select(fliter); TreeNode node;
foreach (DataRow dr in drArr)
{
//
node = new TreeNode();
nodes.Add(node);
node.Text = (string)dr["NodeName"];
// 设置其他属性
// // 递归创建子节点
int dr1 = Convert.ToInt16(dr["NodeId"].ToString());
CreateTreeViewRecursive(node.ChildNodes, dataSource, dr1); // 移除已添加行,提高性能
dataSource.Rows.Remove(dr);
}
}
创建节点代码,请教是不是有问题啊?
若你要用递归
int dr1 = Convert.ToInt16(dr["NodeId"].ToString());
CreateTreeViewRecursive(node.ChildNodes, dataSource, dr1);
你这里该有判断吧,不可能一进来就调用递归塞,你这样就不是加子节点了,而全部都成了父节点。