PDA

Ver la Versión Completa : Ayuda con combo


odelgado2001601
03-12-2010, 23:49:47
Hola a todos!

estoy trabajando con el componente cxLookupComboBox, ya logro que al momento de escribir un codigo me lo briecusque en la lista,lo seleccione, pero al momento de darle enter, solo coloca el codigo.. no coloca el codigo y el nombre... he mirado todas las pripiedades y nada.. alguien sabe como hacerlo?.. reitero. al momento de encontrar el registro aparezca e codigo y el nombre.

Gracias

ecfisa
04-12-2010, 00:47:46
Hola a todos!

estoy trabajando con el componente cxLookupComboBox, ya logro que al momento de escribir un codigo me lo briecusque en la lista,lo seleccione, pero al momento de darle enter, solo coloca el codigo.. no coloca el codigo y el nombre... he mirado todas las pripiedades y nada.. alguien sabe como hacerlo?.. reitero. al momento de encontrar el registro aparezca e codigo y el nombre.

Gracias

Hola odelgado.

Por favor explica un poco más que es lo que queres hacer. ¿Donde no te coloca el el nombre?

Saludos. :)

odelgado2001601
04-12-2010, 04:27:18
Gracias por responder..

en la propiedad listfieldnames coloque dos campos, codigo y nombre, al momento de desplegar el combo, esos campos salen reflejados, pero.. al momento de seleccionar uno, quiero que aparezca ( en el combo ya cerrado) el codigo y el nombre seleccionado..

Si no me explico bien.. puedo hacerlo mas detallado.

gracias

ecfisa
04-12-2010, 07:06:32
Gracias por responder..

en la propiedad listfieldnames coloque dos campos, codigo y nombre, al momento de desplegar el combo, esos campos salen reflejados, pero.. al momento de seleccionar uno, quiero que aparezca ( en el combo ya cerrado) el codigo y el nombre seleccionado..

Si no me explico bien.. puedo hacerlo mas detallado.

gracias
Hola odelgado.

De nada y no hace falta, te has explicado muy bien.;)

Mirá, de momento se me ocurren dos soluciones. Tendrás que adecuarlas a la base de datos con que trabajes.

.-La primera es usar un campo calculado que concatene los dos campos:

procedure TForm1.CalcFields(DataSet: TDataSet);
begin
// ejemplo con campos persistentes
CpoCalculado.AsString:= CpoCodigo.AsString + ' ' + CpoNombre.AsString;
end;

Pero no te va a funcionar el posicionamiento alfabético con el teclado...

.- La segunda es usar un Query y un DataSource para el LookupComboBox, creo que esta es la mejor opción.

La consulta debería ser:

// Para TQuery:
Query.SQL.Text:= 'SELECT CODIGO, NOMBRE, CODIGO + " " + NOMBRE AS CODNOM FROM TU_TABLA';
// Para IBQuery:
IBQuery.SQL.Text:= 'SELECT CODIGO, NOMBRE, CODIGO || ' ' || NOMBRE AS CODNOM FROM TU_TABLA';



En el LookupComboBox:
.KeyField = CODIGO
.ListField = CODNOM
.DataSource = dsQuery (DataSource del Query)

Al menos yo no conozco solución desde el componente mismo.

Saludos. :)

odelgado2001601
04-12-2010, 07:41:08
Gracias amigo.. lo voy aprobar...