在ComboBox中,它的项目来自于一个表,比如部门表(包含部门名称和部门代码),在ComboBox中要显示部门名称,但是返回值是部门代码,怎么写代码。

解决方案 »

  1.   

    select * from table a where a.id in(select b.id where ....)
      

  2.   

    用2个combobox,从表中分别取出部门代码和部门名称。。给comboboxdm和comboboxmccomboboxdm.itemindex:=comboboxmc.itemindex;
    s:=comboboxdm.text;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      //装入部门名称和部门代码
      ComboBox1.Items.AddObject('部门名称',TObject(PChar('部门代码10001'))); 
    end;procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
      //取得Code値
      Edit1.Text := PChar(ComboBox1.Items.Objects[ComboBox1.ItemIndex]); 
    end;
      

  4.   

    楼主:这里也来了。其实你在DFW 那里我都解决给你了!如果你还有什么不懂,再问好了.
      

  5.   

    不知是不是这个意思:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~··
    procedure TForm1.Button2Click(Sender: TObject);
    var
      TempStr: String;
    begin
      TempStr := 'aaa';
      ComboBox1.Items.AddObject('a', TObject(TempStr));
      TempStr := 'bbb';
      ComboBox1.Items.AddObject('b', TObject(TempStr));
    end;procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
      if ComboBox1.ItemIndex >= 0 then
        ShowMessage(String(ComboBox1.Items.Objects[ComboBox1.ItemIndex]));
    end;
      

  6.   

    to  WGYKING
    就是这个意思,但部门名称和部门代码有N个数据如何赋值?
      

  7.   

    TObject类型是所有类型的父类啊
      

  8.   

    意思是这样的 假设dataset.filds[0]为名称 为代码

    while not dataset.eof do
      ComboBox1.Items.AddObject(dataset.filds[0], TObject(dataset.fields[1]));在ComboBox1的Onchange事件中Showmessage(TComboBox(sender).Items.Objects[TComboBox(sender)..ItemIndex]); 
      

  9.   

    ComboBox.Items.AddObject(Dataset.fieldbyname('XXXX').AsString,Tobject(Dataset.FieldByName('XXX')));
    showmessage(TField(c.Items.Objects[c.ItemIndex]).AsString);
      

  10.   

    用了楼上几位的方法好像都不行哦~~~,在不同的过程中,总是返回一些奇奇怪怪的数值,
    能不能举一个用comboBox循环读取数据库纪录,并同时纪录ID(自增的Int型),和名称字段的例子?
    怎么读取ID?你们用举的例子成功过么?
      

  11.   

    用DBLookUpComboBox来实现,显示名称,存入编号,是这样吧
      

  12.   

    循环:
    adoquery.first;
    while not adoquery.eof do
    begin
      combobox.items.addobjec(adoquery.fieldbyname('id').asstring,TObject(adoquery.fieldbyname('名称'));
      adoquery.next;
    end;取得结果:
      TField(combobox.item.object[combobox.itemindex]).asstring;
      

  13.   

    好好看看书,Delphi的转型机制还是很简单的说,至少比C++方便多了