Hola ginkaku.
Te pongo un ejemplo de como cargar en un
TComboBox desde un TDataSet el campo "NOMBRE" de tipo alfanumérico y el campo "ID" de tipo entero. El primer campo se visualiza en el ComboBox y en el evento
OnChange de este, se obtiene el valor del campo "ID" correspondiente.
Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DataSet->DisableControls();
DataSet->First();
__try {
while (! DataSet->Eof ) {
ComboBox1->AddItem(DataSet->FieldByName("NOMBRE")->AsString,
(TObject*)DataSet->FieldByName("ID")->AsInteger);
DataSet->Next();
}
} __finally {
DataSet->First();
DataSet->EnableControls();
}
}
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
int ix = ComboBox1->ItemIndex;
String NOMBRE = ComboBox1->Items->Strings[ix]; // NOMBRE
String ID = (int)ComboBox1->Items->Objects[ix]; // ID
ShowMessage(NOMBRE+" "+ID); // ej: Mostrar
}
Saludos