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;
展开
 我来答
windblast
2013-12-04 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13617
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

从代码来看,只见到 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;
曾经黄过
2013-12-04 · TA获得超过109个赞
知道小有建树答主
回答量:185
采纳率:80%
帮助的人:82.9万
展开全部
你按[windblast]回答的做就可以了,你没有循环绑定数据,说白了,你绑定的只是当前行(或列)的数据!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式