怎么样在ListView中显示以TRzCheckTree选中的内容为条件的记录(200)

  • 主题发起人 主题发起人 icegirl914
  • 开始时间 开始时间
I

icegirl914

Unregistered / Unconfirmed
GUEST, unregistred user!
我的TRzCheckTree里显示有三级: --小区 --青青家园 --1幢 --101 --201 --2幢 --101 --幻境佳居 --2幢 --201 --5幢 --101 这是一个由小区-楼幢-单元号组成的树,前面都有多选框,我现在要在右边的listview中显示TRzCheckTree中选中的用户信息内容(每个用户信息记录中都记录了小区、楼幢、单元号,假如要TRzCheckTree中选中了小区一级的,那么ListView中显示这个小区的所有记录,如果是选中了一个小区下某一幢的,那么显示这一幢楼的用户信息,以此类推单元号),我已经试过好几过遍历树的方法,但是都不行,所以想请教这里的朋友,帮忙给个思路,谢谢!
 
数据表本身就不该这么定义,在你左侧树中,针对每个节点应该有一个内部唯一ID号,在用户信息表中应该有且只有一个字段对应于这个ID号,那样处理起来就方便多了。此外,不知道你用的是什么数据库。此外,你根本就没必要去遍历树,找出所有的子节点然后再到用户表去查询。先按你的思路说问题吧。var XQ,LD,DY:Integer;begin --根据当前节点信息,获得XQ,LD,DY对应的ID号,如果是选中了小区,则其它变量直接设置为0。 if 当前节点是小区 then sql:=Select * From 用户表 where 小区= XQ else if 当前节点是楼栋 then sql:=Select * From 用户表 where 小区= XQ and 楼幢= LD else sql:=Select * From 用户表 where 小区= XQ and 楼幢= LD and 单元号=DY. query.close; query.sql.text:=sql; query.open; ..... ....end;
 
我用的是SQL Server,原先TRzCheckTree里的数据就是根据用户表里的信息分级按小区、楼幢、单元号显示的
 
接受答案了.
 
后退
顶部