Page 1 of 1

DBCOMBO modificado

PostPosted: Thu Feb 01, 2007 8:11 pm
by Marcelo Via Giglio
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

METHOD 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


alguien sabria como solucionar esto, gracias

saludos

Marcelo

PostPosted: Thu Feb 01, 2007 8:27 pm
by Marcelo Via Giglio
Holas,

creo que tengo una posible solucion:

METHOD Initiate( hDlg ) CLASS TDbCombo

::TControl():Initiate( hDlg )
::DEFAULT()
::change()

RETURN NIL



aumente ::change() en el metodo initiate

por lo menos me funciono

saludos y gracias

Marcelo

PostPosted: Fri Feb 02, 2007 12:52 pm
by Patricio Avalos Aguirre
Marcelo

Has revisado el recurso, una vez me paso y el problema que en el recurso lo tenia que ordenara(sort)

espero que te sirva

Saludos
Patricio

PostPosted: Fri Feb 02, 2007 1:14 pm
by Marcelo Via Giglio
Patricio,

gracias por responder, pero con lo que aumente ::change() parece que ya esta funcionando

saludos

Marcelo