起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 511|回复: 11

【搞定】DataTreeList问题!愁死我了**

[复制链接]
发表于 2007-5-31 17:28:45 | 显示全部楼层 |阅读模式
一个窗体,左面树,右面是DATADRID,用不同数据集但其实是相同的数据.也就是说专门做了的DATASET给树来用.
要求是这样:点击左面树的节点,右面根据选中的左面的节点,列出下级所有节点(包括本级)。

我给误读了,以为是本级和下级的

procedure TCTKJ.DataTreeList1Click(Sender: TObject);
var FilterStr: string;
begin
     FilterStr:=Self.DataSetBroker2.DataSet.FieldByName('GUID').AsString;
     TSQLDataSet(Self.InfoBroker1.Info.DataSetByID('KHDA')).SQLFilter:='(GUID = '''+FilterStr+''') or (Parent_ID ='''+FilterStr+''')';
     TSQLDataSet(Self.InfoBroker1.Info.DataSetByID('KHDA')).SQLFiltered:= True;
     TSQLDataSet(Self.InfoBroker1.Info.DataSetByID('KHDA')).Open;
end;

怎么改成过滤出所有下级节点的信息啊???DATATREELIST里面有没有简便一点的方法???

求求你们了!!!帮帮我吧.
回复

使用道具 举报

发表于 2007-5-31 17:37:05 | 显示全部楼层
过滤出所有下级节点的信息是跟你的sqlfilter的条件有关系啊,这样写思路是对的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-31 17:52:30 | 显示全部楼层
可是只能过滤出本级和第二级的数据,问题是怎么才能过滤出下级的下级的下级的下级...........
麻烦给我支个招
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-31 17:59:27 | 显示全部楼层
对了 请问技术支持有没有qq群之类的???
回复 支持 反对

使用道具 举报

发表于 2007-5-31 18:55:41 | 显示全部楼层
请使用编号树,这样比较容易实现
like '01%'

如果用父子树,就只能先用一个数据集,循环的找子,把子的guid记录下来,然后用这些来生成过滤字符串,一堆的
guid=a or guid=b or guid=c ...
或者guid in (a, b, c, ...)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-1 09:56:36 | 显示全部楼层
不好意思 编号树是啥?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-1 10:43:21 | 显示全部楼层
不好意思,编码树已找到,CODEDDATATREEVIEW
请问您说的LIKE'%1'是什么意思
我是新手,请justep的朋友多包涵啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-1 10:58:32 | 显示全部楼层
是SQL语句么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-1 11:13:15 | 显示全部楼层
已编写了如下代码:
TSQLDataSet(Self.InfoBroker1.Info.DataSetByID('KHDA')).SQLFilter:='(GUID LIKE '''+FilterStr+'%'''')';
过滤条件总是有问题.
提示:expecting''',found'EOF'
请问是哪里出的错误???
回复 支持 反对

使用道具 举报

发表于 2007-6-1 11:23:32 | 显示全部楼层
直接用数据集代理写就可以TSQLDataSet(DataSetBroker1.DataSet).SQLFilter := '...',不用你那样写,
过滤条件有问题你可以打个断点跟踪一下,把你的条件拿出来在平台外执行一下你的sql看是不是有问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 06:59 , Processed in 0.038406 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表