delphi combobox下拉只显示一条数据 怎么能显示所选字段的全部数据啊
代码如下procedureTjichushuju.zjshpClick(Sender:TObject);begintabsheet2.show;tabsheet1.vis...
代码如下
procedure Tjichushuju.zjshpClick(Sender: TObject);
begin
tabsheet2.show;
tabsheet1.visible:=false;
zj.visible:=false;
xg.visible:=false;
shc.visible:=false;
chx.visible:=false;
bcghs.visible:=false;
bcghs1.visible:=false;
qx.visible:=false;
zjshp.visible:=false;
xgshp.visible:=false;
shchshp.visible:=false;
chxshp.visible:=false;
bcshp.visible:=true;
bcshp1.visible:=false;
qxshp.visible:=true;
fh.enabled:=false; //对应菜单按钮的显隐
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Visible:=false;
edit5.Enabled:=true;
edit6.Enabled:=true;
edit7.Enabled:=true;
edit8.Enabled:=true;
edit9.Visible :=false;
combobox1.Enabled :=true;
combobox1.Visible :=true;
combobox2.Visible:=true; //文本框可输入
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
combobox1.Text :='';
combobox2.Text :=''; //输入框清空
dm.ADO_spfl.Active:=false;
dm.ADO_ghsmc.Active:=false;
dm.ADO_spfl.Active:=true;
dm.ADO_ghsmc.Active:=true;
combobox1.Items.Clear;
combobox2.Items.Clear;
combobox1.Items.Add(dm.ADO_spfl.fieldbyname('分类名称').asstring);
combobox2.Items.Add(dm.ado_ghsmc.fieldbyname('供货商名称').asstring);
next;
end; 展开
procedure Tjichushuju.zjshpClick(Sender: TObject);
begin
tabsheet2.show;
tabsheet1.visible:=false;
zj.visible:=false;
xg.visible:=false;
shc.visible:=false;
chx.visible:=false;
bcghs.visible:=false;
bcghs1.visible:=false;
qx.visible:=false;
zjshp.visible:=false;
xgshp.visible:=false;
shchshp.visible:=false;
chxshp.visible:=false;
bcshp.visible:=true;
bcshp1.visible:=false;
qxshp.visible:=true;
fh.enabled:=false; //对应菜单按钮的显隐
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Visible:=false;
edit5.Enabled:=true;
edit6.Enabled:=true;
edit7.Enabled:=true;
edit8.Enabled:=true;
edit9.Visible :=false;
combobox1.Enabled :=true;
combobox1.Visible :=true;
combobox2.Visible:=true; //文本框可输入
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
combobox1.Text :='';
combobox2.Text :=''; //输入框清空
dm.ADO_spfl.Active:=false;
dm.ADO_ghsmc.Active:=false;
dm.ADO_spfl.Active:=true;
dm.ADO_ghsmc.Active:=true;
combobox1.Items.Clear;
combobox2.Items.Clear;
combobox1.Items.Add(dm.ADO_spfl.fieldbyname('分类名称').asstring);
combobox2.Items.Add(dm.ado_ghsmc.fieldbyname('供货商名称').asstring);
next;
end; 展开
2个回答
2013-12-04 · 知道合伙人软件行家
关注
展开全部
从代码来看,只见到 next,没见到循环体(for / while),因此,
combobox1.Items.Add(dm.ADO_spfl.fieldbyname('分类名称').asstring);
combobox2.Items.Add(dm.ado_ghsmc.fieldbyname('供货商名称').asstring);
上面的这两句代码只是给combobox添加一个条目,下拉显示也只能是一条数据。
建议:先从数据库检索数据,再用循环将数据添加进去。
示例:
first;
while not eof do
begin
combobox1.Items.Add(dm.ADO_spfl.fieldbyname('分类名称').asstring);
combobox2.Items.Add(dm.ado_ghsmc.fieldbyname('供货商名称').asstring);//
next;
end;
追问
我是delphi小白 能不能帮忙写段代码看看 谢谢
追答
上面的就是示例代码。
此外,提示一点:
类似像以下的代码:
bcghs.visible:=false;
bcghs1.visible:=false;
qx.visible:=false;
zjshp.visible:=false;
xgshp.visible:=false;
shchshp.visible:=false;
chxshp.visible:=false;
建议将这些控件根据需要分组放到一个或多个容器控件里(比如:TPanel),这样,如果要隐藏的话,直接隐藏容器就可以了:
Panel1.Visible := false;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询