FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour DBCOMBO modificado
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
DBCOMBO modificado
Posted: Thu Feb 01, 2007 08: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


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
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
DBCOMBO modificado
Posted: Thu Feb 01, 2007 08:27 PM
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
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
DBCOMBO modificado
Posted: Fri Feb 02, 2007 12:52 PM

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

Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
DBCOMBO modificado
Posted: Fri Feb 02, 2007 01:14 PM

Patricio,

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

saludos

Marcelo

Continue the discussion