社区
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。
乡中包含村,村中包含社。
...全文
99
7
打赏
收藏
关于TreeView的问题(难题)
现有一张表如下: VillageName RusticName Gangname 东升 白衣 1 东升 白衣 2 东升 白衣 3 东升 石佛 1 东升 石佛 2 东升 石佛 3 东升 石佛 4 黄龙溪 菜坝 1 黄龙溪 菜坝 2 黄龙溪 菜坝 3 黄龙溪 毡帽 1 黄龙溪 毡帽 2 黄龙溪 毡帽 3 VillageName代表乡RusticName代表村Gangname代表社,如何生成TreeView。 乡中包含村,村中包含社。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
头坑,我来顶
dotnet 7 已知
问题
WPF 的
TreeView
开启虚拟化之后只显示首项.rar
标题提到的
问题
——“dotnet 7 已知
问题
WPF 的
TreeView
开启虚拟化之后只显示首项”——是一个典型的技术
难题
,它可能会影响到用户界面的性能和用户体验。 WPF 的
TreeView
控件是一种常用的树形数据结构展示组件...
vitual
Treeview
的英文手册
针对使用过程中可能出现的
问题
提供了详细的解答,帮助解决开发者遇到的技术
难题
。 #### 许可证 明确了 Virtual
Treeview
的版权归属及相关使用条款,确保用户能够合法合规地使用该产品。 #### Virtual
Treeview
...
spfe.rar_class_oxygenufx_进程与线程
"YCRACK.CPP"可能是处理数据库密码破解或者优化的相关代码,因为“crack”通常与破解或解决
难题
有关,而在数据库上下文中可能指的是处理数据库连接或认证
问题
。 "DAOQRY.CPP"可能包含DAO查询类的实现,用于构建和...
AutoIT 教程3
此外,还更新了如
TreeView
大小调整、Cmdline /ErrorStdOut功能以及IE.au3的运行错误等
问题
。 为了使用AutoIt,你可以直接解压到任意目录,然后运行安装程序。如果你之前安装过其他汉化版本,建议先卸载旧版再安装...
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章