关于分类查询的一个小问题(200分)

  • 主题发起人 主题发起人 llz629
  • 开始时间 开始时间
L

llz629

Unregistered / Unconfirmed
GUEST, unregistred user!
用tdxdbtreelist 控件作了个树型目录显示客户的分类。<br>表结构:<br>code &nbsp; name &nbsp; parents<br>1 &nbsp; &nbsp; &nbsp;江苏省 &nbsp; &nbsp;-1<br>2 &nbsp; &nbsp; &nbsp; 南京市 &nbsp; &nbsp;1<br><br>在一大类(江苏省)下面有一个小类(南京市)<br>南京市的编码为2<br><br>另有一个表:客户表<br>codefl &nbsp; &nbsp; &nbsp; &nbsp; name &nbsp; &nbsp;<br>2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;南京天成公司 <br><br>列codefl 表示第一个表的code<br>说明南京天成公司 所属分类为 南京市.<br><br>现在在一窗体中左边表示分类,右边表示所属分类下的客户<br>当点击左边分类下的tdxdbtreelist控件下的南京市,则右边可以<br>显示出南京天成公司。但是我想当点击江苏省时,也希望能显示出南京<br>天成公司,有什么好的办法做到这一点呢?<br><br>注意:江苏省下可能还有其他城市。当点江苏省时,要所有其他城市的客户<br>都能显示出来。<br><br>请帮我呀!
 
用TreeView1。和指针
 
我已经用tdxdbtreelist了.而且界面显示的效果很好.不想换TreeView1<br>有什么好方法呀?
 
主从表,主表地区表,从表客户表<br>dxDBTreeList1ChangeNode改变时从表的客户地区编号Like........<br>如果你江苏省的地区编号为02,南京为0201那么可采用此方法。
 
楼主,我不是很熟悉tdxdbtreelist控件,它的方法如何就不清楚了。<br><br>但是这个问题的方法在于得出,分类ID集合!即从当前Item开始,它类型ID和它所有儿子的类型ID,并递归获取到叶子。
 
function GetLBIDs(ANode: TcxTreeListNode; AIDs: TList)<br>begin<br> &nbsp;if ANode = nil then Exit;<br> &nbsp;AIDs.Add(Pointer(ANode.Values[0]));<br> &nbsp;GetLBIDs(ANode.GetFirstChild, AIDs);<br> &nbsp;GetLBIDs(ANode.GetNextSibling, AIDs);<br>end;<br><br>然后点击ANode的时候,只要将List中所有的ID满足的项就显示出来。<br><br>btw:我不怎么会用这个treeList,有错误的地方海涵
 
兄弟,请参考DEV自已的demos里面有你要的,没有这么复杂的<br>[:D]
 
xiammy, 能讲祥细一些吗?<br>clearboy:哪里有什么例子,我找不到呀?
 
其实你这样很麻烦,为何不按编码规格呢。<br>比如: &nbsp;一级: 01<br> &nbsp; &nbsp; &nbsp; &nbsp;二级: 0101 0102<br> &nbsp; &nbsp; &nbsp; &nbsp;三级: 010101 010102 &nbsp;010201 010202
 
我发给你了。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
930
DelphiTeacher的专栏
D
后退
顶部