社区
C++ Builder
帖子详情
关于TreeView的问题(难题)
KOB325
2004-05-04 11:43:52
现有一张表如下:
VillageName RusticName Gangname
东升 白衣 1
东升 白衣 2
东升 白衣 3
东升 石佛 1
东升 石佛 2
东升 石佛 3
东升 石佛 4
黄龙溪 菜坝 1
黄龙溪 菜坝 2
黄龙溪 菜坝 3
黄龙溪 毡帽 1
黄龙溪 毡帽 2
黄龙溪 毡帽 3
VillageName代表乡RusticName代表村Gangname代表社,如何生成TreeView。
乡中包含村,村中包含社。
...全文
96
7
打赏
收藏
关于TreeView的问题(难题)
现有一张表如下: VillageName RusticName Gangname 东升 白衣 1 东升 白衣 2 东升 白衣 3 东升 石佛 1 东升 石佛 2 东升 石佛 3 东升 石佛 4 黄龙溪 菜坝 1 黄龙溪 菜坝 2 黄龙溪 菜坝 3 黄龙溪 毡帽 1 黄龙溪 毡帽 2 黄龙溪 毡帽 3 VillageName代表乡RusticName代表村Gangname代表社,如何生成TreeView。 乡中包含村,村中包含社。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
真如实观
2004-05-05
打赏
举报
回复
你先定义一个字段:parrentID smallint not null。
如:MyID parrentID child_name
1 1 xxx
2 1 //注意了没有?xxx
3 3 xxx
4 3 xxx
5 3 xxx
6 6 xxx
7 6 xxx
然后~~~~
rNode=Tree->Items->Add(TreeView1->Selected,"TTreeView测试");//根节点
rNode->ImageIndex=0;
rNode->SelectedIndex=0;
while(!TreeViewQuery->Eof)
{
sDate=dm->TreeViewQuery->FieldByName("mydate")->AsDateTime.FormatString("yyyy-mm-dd");//TreeView的Caption是日期,形如:2004-05-05
nid=dm->TreeViewQuery->FieldByName("MyID")->AsInteger;
nparrent=dm->TreeViewQuery->FieldByName("parrentid")->AsInteger;
nchildname=dm->TreeViewQuery->FieldByName("child_name")->AsInteger;//子节点
if(nparrent==nid)
{
cNode=Tree->Items->AddChild(rNode,sDate);
mNode=Tree->Items->AddChild(cNode,IntToStr(nchildname));
}
if(nparrent!=nid)
{
mNode=Tree->Items->AddChild(cNode,IntToStr(nchildname));
}
cNode->ImageIndex=1;
cNode->SelectedIndex=1;
mNode->ImageIndex=2;
mNode->SelectedIndex=2;
TreeViewQuery->Next();
}
fengxia0078
2004-05-05
打赏
举报
回复
顺带问一下::
我加了两级节点后,想在rootnode.chilrennode下在加,怎么写?
TTreeNode *Node
TreeView1->Items->Add(NULL, "rootnode");
Node = TreeViewXZLB->Items->Item[0];
TreeView1->Items->Add(Node, "childrennode");
...??
diligent_boy
2004-05-05
打赏
举报
回复
upup!!
关键还是获取信息呀!
别的都能在help内找到
ekin7913046
2004-05-05
打赏
举报
回复
我把答案给你发到邮箱了。给分吧!
robbyzi
2004-05-04
打赏
举报
回复
这里只要嵌套三重循环,来生成树就可以了。
至于如何生成树结点。大把书有介绍了。呵
xugeng
2004-05-04
打赏
举报
回复
你可以参考下面的建树过程
//建类别树
TTreeNode *Node[6]; //最多可以有6级
TreeViewXZLB->Items->Clear();
//加一个根节点
TreeViewXZLB->Items->Add(NULL, "类别");
Node[0] = TreeViewXZLB->Items->Item[0];
//设展开图像
Node[0]->ImageIndex=0;
Node[0]->SelectedIndex =1;
//定义变量
int CurrentItem=0,
LastNode=0,
CurrentNode=0,
XZLBBHLen;
//从表中取记录,插入树
DM->ADOTableXZLB->First();
while(!(DM->ADOTableXZLB->Eof ))
{
XZLBBH=DM-> ADOTableXZLB->FieldByName("类别编号")->AsString.Trim();
XZLB=DM->ADOTableXZLB->FieldByName("类别")->AsString.Trim();
XZLBBHLen =XZLBBH.Length() ;
CurrentItem=CurrentItem+1;
CurrentNode=XZLBBHLen/2; //注意这里除2是为了确定树节点级别,具体说明见后
TreeViewXZLB->Items->AddChild(Node[CurrentNode-1],XZLB);
Node[CurrentNode] = TreeViewXZLB->Items->Item[CurrentItem];
// 设展开图像
Node[CurrentNode]->ImageIndex=0;
Node[CurrentNode]->SelectedIndex =1;
if (CurrentNode!=LastNode)
{
LastNode=CurrentNode;
}
DM-> ADOTableXZLB->Next() ;
}
free1688
2004-05-04
打赏
举报
回复
头坑,我来顶
Flash播放器
使用
treeView
实现flash播放,重点解决
Treeview
中的
难题
,解决Flash播放器的
问题
VB.NET中动态加载
Treeview
节点
最近写项目需要用到
TREEVIEW
树控件承载后台数据源.其中碰到一些
难题
,特别是在树控件对大量数据读取速度的算法编写上碰到很多
问题
....在网上找了一些关于这方面的资料,跟大家一起分享一下.
Treeview
是一个重要的控件,无论是在VB.NET,C#还是Delphi、VC++等各种语言中,都充当了导航器的作用。在实际工作中,很多情况下需要将
Treeview
与数据库进行连接,以填充其节点
为
TreeView
菜单增加按钮和点击事件
最近工作中在写一个后台管理系统,由于系统同种各个模块的页面样式大体一致,因此师傅决定定制一个生成页面的功能。昨天在写到菜单管理模块的时候,发现通过表格展现出来的菜单数据无法直观的体现出菜单之间的层级关系,因此就改用了
Treeview
树形菜单来展示。但此时碰到了一个
问题
,师傅想要在树形菜单的每一行上加上按钮,包括新增子菜单、修改和删除。我查了下
treeview
的api,并未发现有新...
树
TreeView
(2)——树
TreeView
在数据库中的存储
树是有级次的,数据库表是二维的,怎么用二维的表储存级次的树就是一个
难题
。 例如: 如何从数据库取得所有省节点? 如何从数据库取得所有市节点? 案例:论坛版块列表: 可以用select * from t where FatherID=2获得“动漫特区”的所有子节点,所以不需要再建立一个“子节点”的字段。 ...
谈谈序列化和反序列化的感触(
TreeView
序列化)
1.对于C#理解不深,对于序列化Serialize和反序列化Deserialize更是颇有微词。 对于我这样一个半路的业余爱好者,我想,我只需要方便和实现我需要的功能,但微软咋就做的不那么方便的呢?我想序列化就是能实现一个对象,一个控件的参数可以直接存成文件(即序列化),用反序列化即可反向构建这个对象和控件参数,属性值等。 比如,我就需要界面上的
TreeView
1(有很多子节点)序列化直接存为
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章