| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1387 人关注过本帖
标题:combobox制作的3级下拉菜单
只看楼主 加入收藏
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
结帖率:65.85%
收藏
 问题点数:0 回复次数:2 
combobox制作的3级下拉菜单

那位高手能帮忙注释下什么意思
我的表ywzl 字段是yjl ejl sjl
业务种类 一级类 2级类 3级类

我注释了一部分 还有的不知道
procedure Tts.LoadDataToCombox(Target:TComboBox;DataColumn:String;Condition:String='');//定义一个过程
begin
if Target=nil then Exit; //如果combobox为空 就退出
if DataColumn<='' then Exit; //不知道什么意思
with ADOQuery1 do
begin
Close; //distinct 表示无重复显示字段内容
SQL.Text:='SELECT DISTINCT '+DataColumn+' FROM ywzl WHERE '+DataColumn+' IS NOT NULL '+IfThen((Condition<=''),'',' AND '+Condition); // 不知道什么意思
Open;
Target.Items.Clear; // 晴空combobox中的内容
while not Eof do //从头检测到尾
begin
Target.Items.Add(Fields.Fields[0].AsString);//不知道什么意思
Next;
end;
Close;
end;
Target.Visible:=(Target.Items.Count>0); //透明取决于combobox里面的内容大于0则返回true
end;


procedure Tts.FormCreate(Sender: TObject);
begin
LoadDataToCombox(ComboBox4,'yjl'); //combobox4中的内容显示 字段为yjl的内容 1级类
end;

procedure Tts.ComboBox4Change(Sender: TObject);
begin
LoadDataToCombox(ComboBox5,'ejl','yjl='''+ComboBox4.Text+''''); //combobox5中的内容显示 字段为ejl的内容 2级类 条件是 // 条件不知道是什么意思
ComboBox6.Visible:=False;
end;

procedure Tts.ComboBox5Change(Sender: TObject);
begin
LoadDataToCombox(ComboBox6,'sjl','yjl='''+ComboBox4.Text+''' AND ejl='''+ComboBox5.Text+'''');
end;

搜索更多相关主题的帖子: combobox 菜单 制作 
2007-10-11 22:26
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 

procedure Tts.LoadDataToCombox(Target:TComboBox;DataColumn:String;Condition:String='');//定义一个过程
begin
if Target=nil then Exit; //如果combobox为空 就退出
if DataColumn<='' then Exit; //{為DataColumn 字段沒有內容時則退出}
with ADOQuery1 do
begin
Close; //distinct 表示无重复显示字段内容
SQL.Text:='SELECT DISTINCT '+DataColumn+' FROM ywzl WHERE '+DataColumn+' IS NOT NULL '+IfThen((Condition<=''),'',' AND '+Condition); // {當DataColumn字段伙內容不為空,且Condition<=‘’條件成立取值為‘,’,否則取值為‘and’+condition的值時,查詢DataColumn字段所有記錄且重復記錄不顯示}
Open;
Target.Items.Clear; // 晴空combobox中的内容
while not Eof do //从头检测到尾
begin
Target.Items.Add(Fields.Fields[0].AsString);//在Target中增加記錄
Next;
end;
Close;
end;
Target.Visible:=(Target.Items.Count>0); //透明取决于combobox里面的内容大于0则返回true
end;

procedure Tts.FormCreate(Sender: TObject);
begin
LoadDataToCombox(ComboBox4,'yjl'); //combobox4中的内容显示 字段为yjl的内容 1级类
end;
procedure Tts.ComboBox4Change(Sender: TObject);
begin
LoadDataToCombox(ComboBox5,'ejl','yjl='''+ComboBox4.Text+''''); //combobox5中的内容显示 字段为ejl的内容 2级类 条件是 // 這個條件就是上面的定義的過程的調用呀
ComboBox6.Visible:=False;
end;
procedure Tts.ComboBox5Change(Sender: TObject);
begin
LoadDataToCombox(ComboBox6,'sjl','yjl='''+ComboBox4.Text+''' AND ejl='''+ComboBox5.Text+'''');
end;


你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-10-12 08:35
guang2356447
Rank: 2
等 级:论坛游民
帖 子:434
专家分:31
注 册:2007-7-10
收藏
得分:0 

感谢
sky_yang_sky

2007-10-12 16:30
快速回复:combobox制作的3级下拉菜单
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049595 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved