En una pequeña aplicacion, en su ventana de captura de datos, tengo dos combobox, el primero definido directamente
Local oCombo := {"Si","No"}
Funciona bien, me toma sus datos, segun esten en la tabla.
El segundo combo, es un array que se rellena con los registros de otra tabla, y cuando accedo en la ventana de captura de datos, me cambia el orden de los items de manera curiosa, el 1º Item lo pone el último, el 2º lo pone el primero, el 3º lo pone el segundo...y así sucesivamente,
Con lo cual lo que informa primero es un dato que no es el que hay en la tabla.
Este es el código
- Code: Select all Expand view
REDEFINE GET aDatos[16] ID 1016 PICTURE "99" OF oDlg UPDATE
REDEFINE GET aDatos[17] ID 1017 PICTURE "9999999999" OF oDlg UPDATE
REDEFINE COMBOBOX oConcep VAR cCombo ITEMS aConceptos ID 1018 OF oDlg UPDATE
cCombo esta definido así cCombo := aConceptos[aDatos[18]]
Si pongo un msginfo de cCombo, me da correcto
El código donde cargo la tabla en el array aConceptos es este.
- Code: Select all Expand view
* ------------------------------------------------------------------
FUNCTION PonConcepto()
* ------------------------------------------------------------------
Local nSele := Select()
Local n := 1
Local aConceptos[0]
dbSelectArea("CPT")
CPT->(dbGotop())
n := CPT->(RecCount())
ASIZE(aConceptos,n)
AFILL(aConceptos,"")
n:= 1
While CPT->(!Eof())
IF CPT->(Eof())
exit
EndIf
aConceptos[n] := CPT->concepto
CPT->(dbSkip())
n++
EndDo
dbSelectArea(nSele)
Return(aConceptos)
Alquien me puede decir por qué me cambia el índice de los datos en el array del combobox?
Una manita y una pierna, plisssssssssssss
Gracias
Pedro