我建立一个表(里面有“姓名”和其他的域)
用datasource1关联到该表
又用一个dbcombobox关联到datasource1,以显示表中的姓名域
但是每次只能显示一个名字
下拉中没有全部人的姓名?
请问怎样做到?
是不是用dbcombolookupbox?
怎么用?我试过了,好像也不行
谢谢

解决方案 »

  1.   

    >>是不是用dbcombolookupbox?用这个可以的
      

  2.   

    那么请问怎样设置dbcombolookupbox?
    我怎么设置了不能用啊?
    里面又有datasource,datafield
    又有listsource,listsourcefield。我全部设置过了,还是不可以用啊
      

  3.   

    DbComBoLookUpBox并没有显示所有数据的功能
    这是需要写代码实现的,
      

  4.   

    给个我写的通function LoadComboBox(const sTableName,sFieldName:String;crComboBox:TComboBox):boolean;
    var strSql:String;
        qQuery:TAODQuery;
    begin
        Result:=False;
        qQuery:=TAODQuery.Create(nil);
        qQuery.connection ;= //你的数据模块的ADOConnection
        with qQuery do
        begin
          try
            if Active then Close;
            Sql.Clear;
            strSql:='SELECT '+sFieldName+' AS A FROM ['+sTableName+ '] ORDER BY '+sFieldName;
            Sql.Add(strSql);
            Open;
            First;
            crComboBox.Clear;
            while not eof do
            begin
              crComboBox.Items.Add(FieldbyName('A').AsString);
              Next;
            end;
            Result:=True;
          finally
            if not Result then
              begin
                            
               //在这里加上错误处理,如写入文本文件,提示框等
              end;
            Close;
            qQuery.Free;
          end;
       end;
    end;