我在做一个下拉菜单使用combobox控件
里面内容我想从数据库里读取
做过的 指点指点
感谢呵呵
感谢大家
下面是个3级下拉菜单 都是从数据库读取内容的
我已经有代码拉 不过别人帮忙做的
那位高手能帮忙注释下什么意思
我的表ywzl 字段有yjl ejl sjl
业务种类 一级类 2级类 3级类
我注释了一部分 还有的不知道
procedure Tts.LoadDataToCombox(Target:TComboBox;DataColumn:String;Condition:String='');
begin
if Target=nil then Exit;
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;
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;