Ver Mensaje Individual
  #4  
Antiguo 04-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por odelgado2001601 Ver Mensaje
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:
Código Delphi [-]
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:
Código Delphi [-]
  // 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.
Responder Con Cita