delphi新手:
我想让DBcombobox下拉表中显示表中某个字段的所有值,现在就是DBcombobox的datasource已经与数据库中的一张表联好了,在DBcombobox的datafield中也能看到表中的字段,但是运行时就是看不到里面的值,下拉表是空白的,请教各位大神,这怎么弄啊???

解决方案 »

  1.   

    uses Math;procedure TForm1.SetWidth(ACombobox: TComboBox);
    var
      I: Integer;
      MaxWidth: Integer;
    begin
      MaxWidth := 0;
      for I := 0 to ACombobox.Items.Count -1 do
        MaxWidth := Max(MaxWidth, ComboBox1.Canvas.TextWidth(ACombobox.Items[I]));  ACombobox.Perform(CB_SETDROPPEDWIDTH, MaxWidth + 10, 0);
    end;
      

  2.   

    在FORMSHOW的时候,将数据源的ACTIVE设置成TRUE。
      

  3.   

    如果你要坚持用DBcombobox,那你就在窗口打开的时候,把那个数据集循环添加到DBcombobox的items中。如果你要实现这个效果,用起来就方便,你就使用DBLookupComboBox,不过我不建议你用这个DBLookupComboBox,这东西在程序大了的时候严重影响性能。