Page 1 of 1

DBCombo - Posicionar en Item

PostPosted: Fri Dec 04, 2009 10:17 pm
by MarioG
Estimados;
tengo un DBCombo, el cual actualizo desde un BtnBmp.
Luego, la intención es que, al retomar el foco el DBCombo, el Item visualizado se el recien agregado
Hago lo siguiente sin exito (para ambos casos):
Code: Select all  Expand view

   aO[_CmbM2]:Update(), ;
   aO[_CmbM2]:Set( RTrim(cDescAdic) ), ;
   aO[_CmbM2]:Refresh(), ;
   aO[_CmbM2]:SetFocus()
 

y,
Code: Select all  Expand view

   aO[_CmbM2]:Update(), ;
   aO[_CmbM2]:nAt:= aScan( aO[_CmbM2]:aList, cDescAdic ), ;
   aO[_CmbM2]:Refresh(), ;
   aO[_CmbM2]:SetFocus()
 


cual es la forma correcta?

Re: DBCombo - Posicionar en Item

PostPosted: Wed Dec 09, 2009 10:11 am
by MarioG
La solución sencilla que encontré es:
llamada el DBCombo
Code: Select all  Expand view

REDEFINE DBCOMBO aO[_CmbM2] VAR cIDDoc ID 101 OF aO[_DlgM] UPDATE ;
            ALIAS     ::oDbTDoc:cAlias ;
            ITEMFIELD "FDOC01"         ;
            LISTFIELD "FDOC02"
 

llamada al metodo desde donde agrego Items
Code: Select all  Expand view

   REDEFINE BTNBMP aO[_BtDocs] ID 520 OF aO[_DlgM] NOBORDER ;
            RESOURCE "bmp_AbreTb1"  ;
            TOOLTIP  "Abre Tabla Tipo de Documentos" ;
            ACTION   oSelf:TbAdicionales( _TBDOCTIPO ) ), ;
                          aO[_CmbM2]:Update(), ;
                          cIDDoc:= oSelf:oDbTDoc:FieldGet( 1 ), ;  // <------- Le asigno el nuevo valor, agregado a la DBF
                          aO[_CmbM2]:Refresh(), ;
                          aO[_CmbM2]:SetFocus()
 

Re: DBCombo - Posicionar en Item

PostPosted: Wed Dec 09, 2009 1:12 pm
by Antonio Linares
Mario,

Gracias por compartirlo! :-)

Re: DBCombo - Posicionar en Item

PostPosted: Wed Dec 09, 2009 3:36 pm
by MarioG
:D
Me reconforta tu mensaje y, sin dudas es 'el deber no escrito que me correponde' ante la invalorable ayuda que siempre estoy recibiendo del Foro.