DBCOMBO modificado
Posted: Thu Feb 01, 2007 8:11 pm
Holas,
tengo hechas unas modificaciones al DBCOMBO, entre ellas la opcion NOBLANK para que este muestre por defecto el primer elemento de la lista, pero mi problema es que si bien muestra el primer elemento, no devuelve la variable con el valor asociado a este, devuelve blanco, pero si uno hace una seleccion todo ok, adjunto el metodo modificado
saludos
Marcelo
tengo hechas unas modificaciones al DBCOMBO, entre ellas la opcion NOBLANK para que este muestre por defecto el primer elemento de la lista, pero mi problema es que si bien muestra el primer elemento, no devuelve la variable con el valor asociado a este, devuelve blanco, pero si uno hace una seleccion todo ok, adjunto el metodo modificado
alguien sabria como solucionar esto, graciasMETHOD Refill( lRefill ) CLASS TDBCombo
// Refill aItems and aList from cAlias->cFldItem and cAlias->cFldList
// Note that we have yet to define an index!
LOCAL nOldRecNo
LOCAL nOldArea := Select()
LOCAL nItem, nList
DEFAULT lRefill := .F. // MVG
IF ::cAlias == ""
// There's no workarea defined, so do nothing
RETURN NIL
END IF
IF Select( ::cAlias ) == 0
MsgInfo( "TDBCombo:Refill() - Alias '" + ::cAlias + "' does not exist." )
RETURN NIL
ELSE
DBSelectArea( ::cAlias )
END IF
IF lRefill // MVG
::Reset() // MVG
ENDIF // MVG
::aItems := { }
::aList := { }
IF ( nItem := FieldPos( ::cFldItem ) ) > 0
IF ( nList := FieldPos( ::cFldList ) ) > 0
nOldRecNo := RecNo()
// Make first record blank if !lnoBlank
IF ! ::lnoBlank // MVG
DBGoBottom()
DBSkip()
AAdd( ::aItems, FieldGet( nItem ) )
AAdd( ::aList, FieldGet( nList ) )
ENDIF // MVG
DBGoTop()
DO WHILE ! Eof()
IF Eval( ::bFor ) // MVG
AAdd( ::aItems, FieldGet( nItem ) )
AAdd( ::aList, FieldGet( nList ) )
ENDIF // MVG
DBSkip()
ENDDO
DBGoTo( nOldRecNo )
ELSE
msgInfo( "TDBCombo:Refill() - Fieldname " + ::cFldList + " not found." )
ENDIF
ENDIF
IF lRefill // MVG
::DEFAULT() // MVG
::Change() // MVG
ENDIF // MVG
Select ( nOldArea )
RETURN NIL
saludos
Marcelo