DBCOMBO modificado

Post Reply
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

DBCOMBO modificado

Post 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
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post 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
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Post 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
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post by Marcelo Via Giglio »

Patricio,

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

saludos

Marcelo
Post Reply