各位朋友大家好,请问这个是如何实现的呢?关于树形的!(30分)

  • 主题发起人 主题发起人 winsock
  • 开始时间 开始时间
W

winsock

Unregistered / Unconfirmed
GUEST, unregistred user!
一个表为:
产品名称 产品种类 产品类型 价值
短袖毛衣 毛织品 25X30 60
长袖毛衣 毛织品 25X60 120
长裤 纤维物质 52 6682
短衣 纤维物质 233 22
老人服装 纤维物质 232 20
袜子 丝织品 10X12 632
那么怎么在treeview中点击节点,
如:(点击毛织品,把数据库中毛织品的记录在listview显示出来)
制衣厂
--毛织品
--纤维物
--丝织品
就在listview中显示所对应的记录呢?谢谢,我没有接触过树形的,能否给我说明白点!在此谢谢拉!
 
可以用DxDbTreeList
可以不用写一句代码就实现了
很好用
www.playicq.com
或是
www.51delphi.com
里找到
里面有例子
 
各位大侠,能不能帮帮我呀,写点代码给我参考参考!www.playicq.com上面的例子我也看过了,
和我上面所说的这个有很大的出入!所以不知道该如何办!谢谢!
 
呵呵,我好像可以帮你啊,
var
i,j,k,lines,stations:integer;
MyTreeNode1, MyTreeNode2: TTreeNode;
begin
lines:=3;
stations:=5;

with LsTree.Items do // Ls.Tree为一treeview

begin
Clear;
MyTreeNode1 := Add(nil, '全部');
Lstree.Items.Item[0].stateindex:=0;//-(lines+1); //全部


for j :=1 to lines do
begin//lines
MyTreeNode1 :=Lstree.Items.Item[0];//set treenode to root

MyTreeNode2 := AddChild(MyTreeNode1, '项目-'+inttostr(j));
Lstree.Items.Item[j+(j-1)*stations].stateIndex:=-j;//
//每条线的stateindex=-j,通过这个来判断点的
//是哪一个节点
for i :=1 to Stations do
begin

k:=j+(j-1)*stations+i;//all node accounts

AddChild(MyTreeNode2,'子项目 '+inttostr(j*100+i));

Lstree.Items.Item[k].StateIndex :=j*100+i;//k-j;
//可以用这个来确定点的是哪一个
end;

end; //lines

end;//with

 
楼上的说得对!我就这么写的
 
干脆一点吗,把listtree里的也一起入到treeview里,做羊毛衫的下一线好了。还搞成两个东西,多麻烦
 
多人接受答案了。
 
后退
顶部