社区
C#
帖子详情
treeview问题 ~!!!!大家来HELP ME 谢谢
qqws
2003-07-26 09:44:45
看了很多TREEVIEW的帖子跟资料,还是没弄明白怎么动态加载数据,请高手指教下,请把过程给详细点,我刚开始学的,谢谢大家了,请关照小弟 分不够可以加
结构:
人力资源部
人员名字
财务部
人员名字
后勤部
人员名字
大楷就这样的个模式,数据试在数据库里面的,麻烦把数据库结构也告诉我,再次感谢了,急,
...全文
159
11
打赏
收藏
treeview问题 ~!!!!大家来HELP ME 谢谢
看了很多TREEVIEW的帖子跟资料,还是没弄明白怎么动态加载数据,请高手指教下,请把过程给详细点,我刚开始学的,谢谢大家了,请关照小弟 分不够可以加 结构: 人力资源部 人员名字 财务部 人员名字 后勤部 人员名字 大楷就这样的个模式,数据试在数据库里面的,麻烦把数据库结构也告诉我,再次感谢了,急,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jpusaddam
2004-01-08
打赏
举报
回复
http://search.csdn.net/expert/topic/52/5202/2003/3/13/1525202.htm
jeall
2004-01-07
打赏
举报
回复
Thanks! jeall@163.com
qqws
2003-07-27
打赏
举报
回复
?///???
qqws
2003-07-27
打赏
举报
回复
还是有问题啊,对了,还有个问题,我用DATAVIEW筛选了记录后,我怎么把筛选的记录副到一个字符串上去啊,
dahuzizyd
2003-07-27
打赏
举报
回复
你直接拷贝就可以用了啊
qqws
2003-07-27
打赏
举报
回复
大家再给点详细的例子把,还是不太明白
qqws
2003-07-27
打赏
举报
回复
sheng.wan@tom.com
雪狼1234567
2003-07-26
打赏
举报
回复
给我mail发一个给你
dahuzizyd
2003-07-26
打赏
举报
回复
在web下,我是使用一个全局静态变量来保存selectedIndex
string static CurrentNodeIndex ;
CurrentNodeIndex = TreeView1.SelectedNodeIndex;
另:上面的根据selectedIndex来遍历树查找节点,错了,应该是SelectNodeIndex
dahuzizyd
2003-07-26
打赏
举报
回复
我的这个和你的不太一样,人员是在另一个表里的,向你的直接象下面的结构,把人员的ParentID设为他的父节点的ID就可以了:
部门信息表:
DepID ParentID Name
100001 0 技术部
100002 0 财务部
100003 100001 编码组
100004 100001 测试组
建表的过程:需要先声明一个 DataView dv
public void InitTree(TreeNodeCollection Nds,string parentId,DataSet ds,string TableName)
{ //从根节点开始递归调用显示子树
dv=new DataView();
TreeNode tmpNd;
string intId;
dv.Table=ds.Tables[TableName];
dv.RowFilter="ParentId=" + parentId ;
foreach(DataRowView drv in dv)
{ //递归算法从这里开始。
tmpNd=new TreeNode();
tmpNd.Tag =drv[0].ToString(); //节点ID
tmpNd.Text=drv[2].ToString(); //节点名称
Nds.Add(tmpNd);
intId=drv[1].ToString(); //节点的父节点
InitTree(tmpNd.Nodes,tmpNd.Tag.ToString(),ds,TableName);
}
}
四个参数:TreeNodeCollection Nds就是你要生成的树,例如:treeView1
ParentID 父节点名称,初始时为0 后面两个我就不说了。
另外,在添加节点时判断是否已有相同名称的节点存在可以用递归:
public void GetAllNodeText(TreeNodeCollection tnc,string txt)
{
foreach (TreeNode node in tnc)
{
if( node.Nodes.Count != 0 )
GetAllNodeText(node.Nodes,txt);
}
}
我的添加节点时只判断同级节点是否有重名的:
public bool AddNode(TreeNode SelNode,string ID,string txt)
{
int exist = 0;
TreeNode NewNode = new TreeNode();
NewNode.Text = txt;
NewNode.Tag = ID;
foreach (TreeNode tnc in SelNode.Nodes )
{
if (tnc.Text == txt)
{
exist = 1;
return false;
}
}
if (exist != 1)
{
SelNode.Nodes.Add(NewNode);
return true;
}
else
{
return false;
}
}
删除就很简单了
public bool DeleteNode(TreeNode DelNode)
{
if ( DelNode.Nodes.Count == 0)
{
DelNode.Remove();
return true;
}
else
{
return true;
}
}
以上是winform下的,web应用下的你要先装上web下的treeView控件,实现方法查不多,主要是类型不一样,而且webTreeView1在添加和删除节点时,由于没有selectedNode的概念,所以要根据selectedIndex来遍历树查找节点,然后添加或删除,代码太多,就不贴上来了。
这些你可以作在一个类下,在前台界面引用,然后使用里面的方法。
qqws
2003-07-26
打赏
举报
回复
怎么没人回贴啊
Doxygen代码注释规定和生产文档说明
本文介绍Doxygen工具的安装与配置方法,以及如何按照规范在代码中编写注释以生成高质量的文档。涵盖项目配置文件的设置、注释格式示例等内容。
精通 WPF UI Virtualization (提升 OEA 框架中 TreeGrid 控件的性能)
博客介绍了使用 UI Virtualization(UIV)提升 OEA 框架中 TreeGrid 控件性能的方法。因新 TreeGrid 控件不支持 UIV,在数据量大时性能不佳。通过学习 WPF 中 UIV 知识,指出原代码错误并修改,优化后 Visuals 数量大幅下降,还给出了学习 UIV 的相关资源。
C#
111,132
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章