Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Dificultad con DevExpress (https://www.clubdelphi.com/foros/showthread.php?t=70306)

Paulao 13-10-2010 13:13:50

Dificultad con DevExpress
 
Tengo un componente llamado de TcxLokupComboBox. Este componente tiene dos properties llamada de:
ListFiledname y KeyFieldName. Esto es, ListFiled me lo muestra los datos que va a ser muestrada al usuario y KeyFiled es mi campo llave. O que mi gustaria de hacer era cargar el valoir de KeyField en una variable, como yo haria usando un LookupComboBox de Delphi, pero no estoy conseguindo, asi:
En event OnChange del componente si yo escojo un nombre asi:
Maria de la Peña, su codigo llave en el Banco es 3, luego la variable si cargaria de 3. Si escojo Ana Luzia, su valor es 8, entonces mi variable seria 8. Este campo llave es el que yo puzo en TcxComboBox como KeyFieldNames y no consigo cargala. Simpre viene el valor de 1, o sea, el primer registro del banco.

CHECHE81 12-10-2011 18:02:03

LookupComboBox en cxGrid
 
Saludos Paulao¡¡¡:)

Yo tengo el mismo problema pero tengo cargado un LookupComboBox dentro de un cxGrid y quiero acceder a los campos del ListSource, cuando seleccionas un elemento de la lista copiar los valores de otros campos de ese mismo registro, en otros campos del cxGrid, lo he intentado en el vwGPlantelesidPlantelCoeemsPropertiesChange(.., y lo intente así:
Código Delphi [-]
cdsPlanteles.FieldValues['sCCT'] := vwGPlantelesidPlantelCoeems.DataBinding.DataController.DataSource.DataSet.FieldByName('sCCT').AsStri  ng;
pero siempre me trae el primero como dice Paulao, y ando buscando como acceder a los campos del elemento seleccionado del ListSource.

Cualquier dato es bien recibido, gracias por su tiempo.:cool:
Saludos¡¡¡¡

Al González 12-10-2011 19:20:26

Hola Cheché.

En los eventos del subcomponente Properties de la columna (que en tu caso sería de clase TcxLookupComboBoxProperties) puedes usar el que se llama OnEditValueChanged. Este se dispara cada vez que el usuario cambia de elemento en el cuadro combinado.

Código Delphi [-]
procedure TfmContrato.vwRejillaTarifaPropertiesEditValueChanged(
  Sender: TObject);
begin
  inherited;
  ShowMessage ((Sender As TcxLookupComboBox).EditValue);
end;

Sender es el objeto TcxLookupComboBox que está siendo utilizado por la columna en cuestión, su propiedad EditValue contiene el valor del "KeyFieldNames", es decir, la llave del registro foráneo seleccionado. Así que teniendo esa llave podrás hacer la búsqueda que requieras sin mayor problema.

Paulao: ¿Lo tuyo quedó solucionado? Se encuentre o no solución a un problema, es bueno comentar nuevamente nuestras impresiones. :)

Saludos.

Al González.

AzidRain 12-10-2011 19:28:39

Es como dice Al, EditValue siempre contiene el valor "llave" o Key del elemento elegido de la lista.

CHECHE81 12-10-2011 19:53:47

Gracias por su respuesta¡¡¡

Me falto la imágen, aqui se las dejo... estoy probando el dato Al gracias, y mil gracias por su tiempo.


Al González 12-10-2011 20:42:10

¡Anda la osa!

Cheché: Quizá en esa base datos tienes al CONALEP II de Chihuahua. ¿Podrías ver si todavía puedo obtener mi título y obviar materias de bachillerato, para así poder ingresar a alguna universidad? ;)

Un saludo simpsoniano.

Al. :)

roman 12-10-2011 21:14:33

Je, je, y, digo yo, ¿no se te ha ocurrido consultarlo directamente en CONALEP? :rolleyes:

// Saludos

CHECHE81 12-10-2011 23:31:58

Sí, que pasa¡¡¡;)

Ya quedo el show. Con el código:

Código Delphi [-]
procedure TfmCatalogos.vwGPlantelesidPlantelCoeemsPropertiesEditValueChanged(
  Sender: TObject);
begin

  dsPlantelesDG.DataSet.Locate('id',(Sender As TcxLookupComboBox).EditValue,[]);
  vwGPlantelessCCT.EditValue   := dsPlantelesDG.DataSet.FieldByName('sCCT').AsString;
  vwGPlantelessNombreOficial.EditValue := dsPlantelesDG.DataSet.FieldByName('sPlantelNombre').AsString;
  vwGPlantelesidPlantelCoeems.EditValue := dsPlantelesDG.DataSet.FieldByName('id').AsInteger; // Le vuelvo a dar el ID porque como que se pierde el valor...:D

end;

Jejeje, pues ahora todo el show se maneja por competencias, ya sabes la reforma de educación y esas ondas, jojojo, asi es por ahi anda...

Saludos¡¡¡

Al González 13-10-2011 01:42:31

Cita:

Empezado por roman (Mensaje 415390)
Je, je, y, digo yo, ¿no se te ha ocurrido consultarlo directamente en CONALEP? :rolleyes:

¡Que buena idea!

Cheché: ¿podrías consultarlo directamente en CONALEP? :p


La franja horaria es GMT +2. Ahora son las 09:15:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi