Page 1 of 1

XBROWSE NO Actualiza Campos Modificados

Posted: Thu Oct 25, 2018 8:09 pm
by remtec
Amigo

Buenas tardes.

He tenido que volver a publicar mi problema.

No logro que Xbrowse pueda actualizar las Modificaciones que se realizan a una Columna.

Agradeciendo su ayuda, les saluda.

Antonio.

Codigo del proceso:

Code: Select all

             DEFINE DIALOG oDlg1 RESOURCE "#1008"     FONT oFont1   Title " "
     
             REDEFINE XBROWSE oBrow ALIAS "&nro_usu5" FIELDS ;
            OemToAnsi(Cod_det1),;
            OemToAnsi(Cod_res),;
            OemToAnsi(Cod_det2);
            HEADERS;
            "Detalle Examen",;
            "Resultado Examen",;
            "Referencias";
            PICTURES '@!','@!','@!';
            ID 609 OF oDlg1 ;
            FONT oFont1;
            FOOTERS LINES CELL
            oBrow:nFreeze:=2
            oBrow:bClrStd             := {|| { nRGB(  0,  0,  0), nRGB(255,248,220) } }
            oBrow:bClrSelFocus        := {|| { nRGB(  0,  0,  0), nRGB(137, 247, 33) } }
            oBrow:aCols[ 2 ]:lAutoSave  := .T.

            WITH OBJECT oBrow:aCols[ 2 ]
                 :nEditType  := EDIT_GET
                 :bEditWhen := {|| &nro_usu5->Est_inf = "S" }
                 oCol:bOnPostEdit := {|o, v, n| &nro_usu5->Cod_res:=v }
               
            END


           ACTIVATE DIALOG oDlg1 CENTERED
 
 

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Fri Oct 26, 2018 1:50 pm
by Hector Pedro Lerda
Buen dia

prueba de hacer este cambio

:bEditWhen := {|| &nro_usu5->Est_inf = "S" }

por

:bEditWhen := {|| if(nro_usu5->Est_inf = "S",.t.,.f.) }

saludos

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Fri Oct 26, 2018 2:21 pm
by armando.lagunas
Hola, Yo lo hago de esta forma y sin problemas

Code: Select all

            oLbx:aCols[4]:nEditType    :=  EDIT_GET
            oLbx:aCols[4]:bEditValue   :=  { || PA94->CANT }
            oLbx:aCols[4]:cEditPicture :=  "######.####"
            oLbx:aCols[4]:bClrEdit     :=  { || { nRGB(121, 99,197), nRGB(239,228,176)} }
             oLbx:aCols[4]:bOnPostEdit  :=  { |  oCol,xVal, nKey |                       ;
                                                        IF( nKey == VK_RETURN                  ,;
                                                             IF( xVal  >= 0                         ,;
                                                                 ( GrabaEvento(  xVal  )         ,;
                                                                   oLbx:Refresh()                ,;
                                                                   oLbx:SetFocus()               ,; 
                                                                                         ),),)}

 
Funcion en donde grabo el evento, (sobre la dbf y en la tabla sql)

Code: Select all


STATIC FUNCTION GrabaEvento( cVal )
...
                                PA94->CANT := cVal
                                oConnect:Execute("UPDATE CGE_PerdidaMaterial SET PM_Cantidad="+Transform(PA94->CANT,"99999.99")+" WHERE PM_NroProceso_FK='"+PA94->NPRO+"' ' " ) 

RETURN .T.
 

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Fri Oct 26, 2018 5:03 pm
by remtec
Mil gracias a Armando y Hector.

Probe ambas soluciones, la unica que resulto perfecta fue la de Armando.

Muy agradecido por su ayuda.

Muchos Saludos.

Antonio

Dejo el Codigo Funcional:

Code: Select all

            WITH OBJECT oBrow:aCols[ 2 ]
                     oBrow:aCols[2]:nEditType    :=  EDIT_GET
                     :bEditWhen := {|| &nro_usu5->Est_inf = "S" }

                     oBrow:aCols[2]:bEditValue   :=  { || &nro_usu5->Cod_res }
                     oBrow:aCols[2]:cEditPicture :=  "@!"
                     oBrow:aCols[2]:bClrEdit     :=  { || { nRGB(121, 99,197), nRGB(239,228,176)} }

                     oBrow:aCols[2]:bOnPostEdit  :=  { |  oCol,xVal, nKey |IF( nKey == VK_RETURN ,;
                                                                 IF( xVal  = spac(29) ,;
                                                                 ( GrabaEvento( xVal ),oBrow:Refresh(),;
                                                                   oBrow:SetFocus()),),)}


            END


       ACTIVATE DIALOG oDlg1 CENTERED


    Return nil

STATIC FUNCTION GrabaEvento( cVal )
       &nro_usu5->Cod_res:= cVal
            
RETURN .T.

 

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Sun Nov 04, 2018 7:31 am
by nageswaragunupudi
Create XBrowse like this:

Code: Select all

REDEFINE XBROWSE oBrow ALIAS "& nro_usu5" ;
   COLUMNS COD_DET1, COD_RES, COD_DET2 ;
   HEADERS  "Review Detail", "Test Result", "References" ; 
   PICTURES '@!' , '@!', '@!' ; 
   ID 609 OF oDlg1; 
   FONT oFont1; 
   FOOTERS LINES CELL 

oBrw:lOemAnsi := .T.
oBrw:nEditTypes := EDIT_GET
 
Do not use FIELDS clause. Use COLUMNS clause.
Use oBrw:lOemAnsi or oCol:lOemAnsi

Now you can inline-edit the fields and save modifications.

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Wed Nov 07, 2018 1:36 pm
by nageswaragunupudi
Well.
bOnPostEdit is deprecated.
FWH recommends usage of COLUMNS clause instead of FIELDS clause.
We posted the recommended code.

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Thu Nov 08, 2018 11:29 am
by armando.lagunas
no todos podemos tener las ultimas versiones de fivewin
:cry: :cry:

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Fri Nov 09, 2018 3:03 pm
by remtec
Amigos

Muchas gracias por estar presente cuando requerimos de ayuda de los que saben, particularmente he vuelto a Fivewin despues de un tiempo y me ha pasado la cuenta, pero soy eternamente agradecido por su incondicional ayuda.

He aplicado sus consejos y esta funcionando perfecto.

Muchos Saludos.

Antonio.

Re: XBROWSE NO Actualiza Campos Modificados

Posted: Fri Nov 09, 2018 8:07 pm
by remtec
Regards

Hola muy agradecido por tu ayuda, pero tu ultima recomendación sobre usar COLUMNAS en ves de FIELDS, como Amando bien dice, no todos podemos obtener las ultimas versiones de Fivewin, digo esto ya que aplicarlo en la version que tengo, no funciona, por lo que he vuelto a dejarlo a la recomendación anterior.

Muchas gracias.

Saludos

Antonio.