01 根节点
02 根节点
03 根节点
04 根节点
0101 为01的子节点
0201 为02的子节点
0301 为03的子节点
0401 为04的子节点
010101 为0101的子节点
020101 为0201的子节点
030101 为0301的子节点
040101 为0101的子节点
如何实现按照不同的编号 分类存放到相应的节点下
我的代码只能在表结构为以上整齐排放的情况下建立。
String str;
TTreeNode *rNode,*mNode,*zNode;
TreeView1->Items->Clear();
TADOQuery *qy=new TADOQuery(this);
qy->ConnectionString=FrmMain->ok;
qy->SQL->Clear();
qy->SQL->Add("select *from 公司结构 where 编号<>'NULL'");
qy->Open();
qy->First();
//str=qy->FieldByName("编号")->AsString;
while (!qy->Eof)
{
str=qy->FieldByName("编号")->AsString;
if(str.Length() ==2)
{
rNode=TreeView1->Items->Add(NULL,str);
rNode->ImageIndex=0;
rNode->SelectedIndex=0;
}
else
if(str.Length() ==4)
{
mNode=View1->Items->AddChild(rNode,str);
mNode->ImageIndex=0;
mNode->SelectedIndex=0;
}
else
if(str.Length() ==6)
{
zNode=View1->Items->AddChild(mNode,str);
zNode->ImageIndex=1;
zNode->SelectedIndex=1;
}
qy->Next();
}
delete qy;
}
8 个解决方案
#1
如果真的要像你所说的,那你就得要用三重循环了。。
第一重是对01,02,03,04进行操作的,
第二重是对0101,0201……如此类推。。。。
例如,当你生成了01结点时,不要返回,而是进行嵌套,搜索如0101的前两位是01的串。生成其子结点……而生成010101时也是如此做法。。。
其实是由于你已经确定是三重的,所以用循环嵌套搞定。
如何是未知的N层树的话,那就要写递归算法了。:)
第一重是对01,02,03,04进行操作的,
第二重是对0101,0201……如此类推。。。。
例如,当你生成了01结点时,不要返回,而是进行嵌套,搜索如0101的前两位是01的串。生成其子结点……而生成010101时也是如此做法。。。
其实是由于你已经确定是三重的,所以用循环嵌套搞定。
如何是未知的N层树的话,那就要写递归算法了。:)
#2
只是一种循环罢了,不难的。
#3
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
#4
其实你的问题很简单,我有一个跟你一样的现成的程序,改天给你吧!我觉得那是我刚刚学习程序的时候写得最好的代码
#5
scyongkang(永康)把你的程序发上来,大家共享吧!
#6
楼主的程序应该实现你所要的功能,但是有一个问题,就是如果根结点没有的话,那你的子节点放到什么地方呢?所以如果没有根节点的话有应该先创建根节点!
#7
只要把sql语句改为select *from 公司结构 where 编号<>'NULL order by 编号
一个循环可以反问无限层;
一个循环可以反问无限层;
#8
FOR jinhaiwu(海魂)
select *from 公司结构 where 编号<>'NULL' order by 编号
这是什么意思啊??好像和
select *from 公司结构 where 编号<>'NULL'
没区别啊?
select *from 公司结构 where 编号<>'NULL' order by 编号
这是什么意思啊??好像和
select *from 公司结构 where 编号<>'NULL'
没区别啊?
#1
如果真的要像你所说的,那你就得要用三重循环了。。
第一重是对01,02,03,04进行操作的,
第二重是对0101,0201……如此类推。。。。
例如,当你生成了01结点时,不要返回,而是进行嵌套,搜索如0101的前两位是01的串。生成其子结点……而生成010101时也是如此做法。。。
其实是由于你已经确定是三重的,所以用循环嵌套搞定。
如何是未知的N层树的话,那就要写递归算法了。:)
第一重是对01,02,03,04进行操作的,
第二重是对0101,0201……如此类推。。。。
例如,当你生成了01结点时,不要返回,而是进行嵌套,搜索如0101的前两位是01的串。生成其子结点……而生成010101时也是如此做法。。。
其实是由于你已经确定是三重的,所以用循环嵌套搞定。
如何是未知的N层树的话,那就要写递归算法了。:)
#2
只是一种循环罢了,不难的。
#3
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
没办法,求救:我不知怎么才能提问,说是要到小类社区,但我就是找不到小类社区在哪里!
#4
其实你的问题很简单,我有一个跟你一样的现成的程序,改天给你吧!我觉得那是我刚刚学习程序的时候写得最好的代码
#5
scyongkang(永康)把你的程序发上来,大家共享吧!
#6
楼主的程序应该实现你所要的功能,但是有一个问题,就是如果根结点没有的话,那你的子节点放到什么地方呢?所以如果没有根节点的话有应该先创建根节点!
#7
只要把sql语句改为select *from 公司结构 where 编号<>'NULL order by 编号
一个循环可以反问无限层;
一个循环可以反问无限层;
#8
FOR jinhaiwu(海魂)
select *from 公司结构 where 编号<>'NULL' order by 编号
这是什么意思啊??好像和
select *from 公司结构 where 编号<>'NULL'
没区别啊?
select *from 公司结构 where 编号<>'NULL' order by 编号
这是什么意思啊??好像和
select *from 公司结构 where 编号<>'NULL'
没区别啊?