一般情况下,我们可以用ComboBox1.text属性来让ComboBox显示当前内容,但我现在发现,如果从数据库中直接把内容添加到ComboBox中的话,他的combobox.text属性就不管用用了,我的代码如下:(同时我还创建了一个TStringList来存储id)
list_pro :=TStringList.Create;
   with d.ADOQlist do
    begin
     if Active then Close;
     sql.Clear;
     sql.Add('select id,xmbh from Prog_info');
     open;
     while not Eof do
      begin
       ComboBox1.Items.Add(Fields[1].AsString);
       list_pro.Add(Fields[0].AsString);
       Next;
      end;
    end;
现在我假设ComboBox1的Items为:
11
22
33
44
我现在要想让ComboBox1的当前显示内容为11,用combobox1.text:='11'不管用,只有用combobox.itemindex :=0才行,但我程序中不能用itemindex啊,因为我是从另外一个页面选择跟ComboBox1的item中的一项,我要让ComboBox1当前显示的内容也必须一样,请问怎么做!

解决方案 »

  1.   

    ComboBox1.Items.Add(Trim(Fields[1].AsString));
           list_pro.Add(Trim(Fields[0].AsString));
      

  2.   

    把ComboBox的Style属性设置成csDropDown看一下
      

  3.   

    Look!改一下思路:http://218.56.11.178:8020/web/index.aspx-》 下载基地-》例程-数据库/报表-》在DBGRID中下拉列表的显示自动的,不用代码
      

  4.   

    var i: integer ;
    begin
      for i:= 0 to  ComboBox1.Items.Count -1 do
      begin
        if  ComboBox1.Items[i] ='11' then
        begin
          ComboBox1.ItemIndex := i ;
          exit
        end ;
      end ;