procedure TForm1.Button1Click(Sender: TObject);
var a:string;
begin
a:= adoquery1.fieldbyname('goods_pinz').AsString;//showmessage(a); //这里可以看到a=youcombobox1.itemindex:=combobox1.Items.IndexOf(a);//但是combobox1里还是不显示//index=-1
end;设置combobox的style为 csdownlist经查找indexof()必须是const,如果直接用indexof('优'),则可以,现在该如何实现这个功能那?

解决方案 »

  1.   

    应该没问题.  可能是你从数据库中取出来的值带空格. 可以这样试一下:a := adoquery1.fieldbyname('goods_pinz').AsString;
    combobox1.itemindex:=combobox1.Items.IndexOf(trim(a));
                                                 ~~~~~实际上,直接用combobox1.text := trim(a);  即可
      

  2.   

    哦,收回刚才我说的最后一句: "实际上,直接用combobox1.text := trim(a);  即可"
      

  3.   

    用text肯定不行,因为我已经设置成csdownlist,我查下空格
      

  4.   

    方法没错,是不是ComboBox1.Items.CommaText里面根本就没有这个值呢?
      

  5.   

    先看看combobox中是否存在你要找的值,方法没有问题,真确的!
      

  6.   

    你得先把各个内容写入到combobox里面才行
    combobox.items.add();