![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cargar Combobox Manualmente + un Identificador
Buenas como estan gente? Estoy programando mediante clases y objetos, y tengo una clase que me devuelve una lista de string lista para que yo luego los añada a un combobox o un comboboxEx. Hasta aqui todo bien, corre, ahora tambien deseo asignar un valor/identificador o como gusten llamarlo al item,no para mostrarlo al mismo tiempo sino para q yo lo maneje internamente, por ejemplo:
Código:
ComboBoxEx1->ItemsEx->Add(); ComboBoxEx1->ItemsEx->operator [](0)->Caption = "Juan"; ComboBoxEx1->ItemsEx->operator [](0)->valor/id = 101; // <---------esta demas recalcar que esto es lo q pretendo hacer ComboBoxEx1->ItemsEx->Add(); ComboBoxEx1->ItemsEx->operator [](1)->Caption = "Pedro"; ComboBoxEx1->ItemsEx->operator [](1)->valor/id = 230; PDT: Nunca tengo el delphi a mano asi que disculpen solo tengo c++ en la portatil |
|
#2
|
||||
|
||||
|
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
}
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#3
|
||||
|
||||
![]() ![]() Grande ecfisa, no tengo acceso a una dataset directamente en esta clase, pero la logica es la misma. Lo he adecuado perfectamente a mis recursos, muchas gracias funciona de maravilla. |
|
#4
|
||||
|
||||
|
Retomo este tema porque no sé que estoy haciendo mal.
Cita:
1ª. La línea de código String ID = (int)ComboBox1->Items->Objects[ix], ¿no da error al tratar de meter un int en un string? 2ª. Yo necesito buscar el valor que viene de una tabla para mostrar el ítem correspondiente. Estoy haciendo esto: Para cargar el ComboBox: Código:
Query->Close();
Query->SQL->Text = "SELECT Etiqueta, Valor, Literal FROM 'Instalacion.db' WHERE Etiqueta = 'Situacion' ORDER BY Valor";
Query->Open();
for (; !Query->Eof; Query->Next())
Situacion->AddItem(Query->FieldByName("Literal")->AsString, (TObject*)Query->FieldByName("Valor")->AsInteger);
Código:
for (nItem = 0; nItem < Combo->Items->Count; nItem ++)
nPrueba = (int)Combo->Items->Objects[nItem];
|
|
#5
|
||||
|
||||
|
Hola Angel.Matilla.
Cita:
Cita:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#6
|
||||
|
||||
|
Cita:
He probado otra cosa: Código:
for (int nItem = 0; nItem < Combo->Items->Count; nItem ++)
{
Valor = (long)(TObject*)Combo->Items->Objects[nItem];
if (Valor == Query->FieldByName("Situacion")->AsInteger)
{
Combo->ItemIndex = nItem;
break;
}
}
Código:
AnsiString Cadena;
long Valor;
for (int i = 0; i < Combo->Items->Count; i++)
{
Cadena = Combo->Items->Strings[i];
Valor = (long)(TObject*)Combo->Items->Objects[i];
ShowMessage("Cadena:" + Cadena + "\nValor: " + IntToStr(Valor));
}
Última edición por Angel.Matilla fecha: 21-12-2013 a las 10:52:24. |
|
#7
|
||||
|
||||
|
Hola Angel.Matilla.
Cita:
Ejemplo: Código:
{
ComboBox->ItemIndex = ComboBox->Items->IndexOfObject((TObject*)Query->FieldByName("ID")->AsInteger);
}
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Cargar nombres de tablas en un ComboBox | Paulao | Varios | 4 | 14-08-2011 01:49:00 |
| cargar lista en un combobox o tdblooupcombobox | chalo | Tablas planas | 3 | 27-04-2011 05:10:21 |
| Cargar combobox con datos de tabla | loadminds | Tablas planas | 10 | 18-11-2008 19:16:47 |
| Como puedo cargar un ComboBox en un Gridview | Shidalis | OOP | 2 | 10-08-2005 14:29:29 |
| Cargar Desde Un Combobox | CarmaZone | Conexión con bases de datos | 1 | 15-05-2005 13:00:39 |
|