怎樣讓DBComboBox每一行顯示兩列數據

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      sTempStr,sTempStr2: string;
    begin
      StempStr := 'test';
      StempStr2 := 'test2';
      ComboBox1.Items.Add(sTempStr+','+sTempStr2)
    end;
      

  2.   

    在dbcombobox与表联时,在fields列表框中将列写成以下格式:
    fields1,fields2
      

  3.   

    设置listfield属性fields1;fields2
    combobox好像不行
      

  4.   

    var
    i:integer;
    a,b,c,d:string;
    begin
    combobox1.clear;
    query1.refresh;
    query1.First;
    d:='名称'+'         '+'号码';
    combobox1.Items.Add(d);
    for i:=0 to query1.recordcount-1 do
    begin
    a:=query1.fieldbyname('Capital').AsString;
    b:=query1.fieldbyname('Area').AsString;
    c:=a+'              '+b;
    combobox1.Items.Add(c);
    query1.Next;
    end;
      

  5.   

    用table1实现的话是:
    with table1 do
    begin
     if  not table1.eof do
    begin
    A:=table1.fieldbyname('name').asstring;
    B:=table1.fieldbynmae('code').asstring;
    c:=A+'  '+B;
    combobox1.items.add(c);
    table1.next;
    end;
    end;
      

  6.   

    我昨天改了这个控件,在父类里加一个getdisptext.过程来实现。也做成功了。费了半天的力气。但后来我发现一个更为简单的办法。 不能写什么程序,算是最简单的了。用adoquery, 数据库是SQL SERVER,不知你是不是,如是就好办。 
    sql 语句
    select id,name=(name1+name2) from table
    name1,name分别为varchar, 如果是其它的你通过convert转换一下0
    在DBComboBox1的listfield设为这个字段就行了。 把字段的设为varchar.