Favor AYUDA con Editar Columna en XBROWSE

Favor AYUDA con Editar Columna en XBROWSE

Postby remtec » Wed Oct 24, 2018 2:41 pm

Amigos

Muy buen dia.
Tengo un problema, necesito poder modificar una Columna de una DBF en Xbrowse, pero esta deben modificarse solo las que cumplen con un estado de la Fila.

La Columna a modifica es el Campo: "Cod_res ", pero para ello un campo de la DBF llamado "Est_inf", tiene que tener el valor "S". Por lo que solo seran modificadas las lineas que cumplan con la condicion.

Tengo el siguiente codigo, pero me falta modificarlo para que me permita modificar:

Desde ya muchas gracias.

Atte.
Antonio.
Code: Select all  Expand view
 
   DEFINE DIALOG oDlg RESOURCE "#1003"     FONT oFont1   Title " "

   REDEFINE XBROWSE oCust ALIAS "&nro_usu2" FIELDS ;
            Cod_det1,;
            Cod_res,;
            Cod_det2,;
            HEADERS;
            "Detalle Examen",;
            "Resultado Examen" ;
            "Referencias" ;

            PICTURES '@!','@!','@!' ;

            ID 4005 OF oDlg ;
            FONT oFont1;
            FOOTERS LINES CELL
            oCust:bClrStd             := {|| { nRGB(  0,  0,  0), nRGB(255,248,220) } }
            oCust:bClrSelFocus        := {|| { nRGB(  0,  0,  0), nRGB(137, 247, 33) } }

            oCol := oCust:AddCol()
            oCol:AddResource("#8013")    // Ticket Verde
            oCol:AddResource("#8014")    // Ticket Rojo
            oCol:cHeader = "Est."

            oCol:bBmpData   := { || IIF(&nro_usu2->Est_inf = "S",1,2 )}

            WITH OBJECT oCust:aCols[ 2 ]
                 :nEditType  := EDIT_GET
            END


             
   ACTIVATE DIALOG oDlg CENTERED
 
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby VitalJavier » Wed Oct 24, 2018 2:52 pm

Antonio, yo lo hago pero solo en el Valid, Despues de que escribió

Code: Select all  Expand view

oBrow:aCols[02]:nEditType       := 1
oBrow:aCols[02]:bEditValid      := { | oLeo, oCol | ValidaCaja( oLeo, oCol, oGet ) }


FUNCTION ValidaCaja( oLeo, oCol, oGet )
  LOCAL nRet := .F.
**** Aqui pongo mis validaciones
RETURN nRet
 


Espero y te ayude un poco.
User avatar
VitalJavier
 
Posts: 239
Joined: Mon Jun 10, 2013 6:40 pm

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby remtec » Wed Oct 24, 2018 3:06 pm

Hola Javir.

Muchas gracias por responder.

No tengo mucha experiencia en Fivewin.

La idea es que solo permita editar las Filas que cumplan con la condicion.

Tu indicacion es que en la funcion "ValidaCaja()", valide que el campo Est_inf = "S" ??

Muchos Saludos

Antonio.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby cmsoft » Wed Oct 24, 2018 8:25 pm

Code: Select all  Expand view

           WITH OBJECT oCust:aCols[ 2 ]
                 :nEditType  := EDIT_GET
                 :bEditWhen := {|| nro_usu2->Est_inf = "S" }
            END
User avatar
cmsoft
 
Posts: 1285
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby remtec » Wed Oct 24, 2018 8:35 pm

Muchas Gracias a Javier y Cesar por responder.

Hoy probare sus soluciones y luego comentare.

Muchos Saludos.

Antonio.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby remtec » Thu Oct 25, 2018 2:14 pm

Amigos
Muy buen dia.

De las opciones que me dio Javier y Cesar, aplique de loo Cesar, ya que si cumple que se puedan modificar solo las filas que cumplen la condición.

El problema que tengo es que NO Guarda el valor Ingresado, si manteniendo el valor antiguo al perder el foco.

Necesito que pueda Actualizar el valor digitado en el campo, para luego poder guardar la actualizacion en la DBF original.

Dejo el codigo que Aplico.

Esperando poder solucionar el problema, les saluda muy atte.

Antonio.

Code: Select all  Expand view
 
             DEFINE DIALOG oDlg1 RESOURCE "#1008"     FONT oFont1   Title " "
             REDEFINE SAY oSay1 ID 608 PROMPT "TIPO DE EXAMENES FECHA " OF oDlg1 FONT oFont4  COLORS RGB(12, 135, 27)

             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
 
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby cmsoft » Thu Oct 25, 2018 11:11 pm

Saca el bonPostEdit y proba, porque le pusiste antes autosave...
Code: Select all  Expand view

            WITH OBJECT oBrow:aCols[ 2 ]
                 :nEditType  := EDIT_GET
                 :bEditWhen := {|| &nro_usu5->Est_inf = "S" }                
            END
 
User avatar
cmsoft
 
Posts: 1285
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby remtec » Fri Oct 26, 2018 12:09 am

Cmsoft

Muchas gracias por tu ayuda.

He realizado los cambios y pruebas, lamentablemente no me resulta la actulizacion del campo " Cod_res "en la DBF, ni pantalla del browse.

Como me recomendaste, aplique el codigo asi:

Saludos
Antonio

Code: Select all  Expand view

             oBrow:nFreeze:=2
             oBrow:bClrStd             := {|| { nRGB(  0,  0,  0), nRGB(255,248,220) } }
             :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" }


            END

 
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby cmsoft » Fri Oct 26, 2018 12:27 pm

En los samples de FiveWin tienes un prg testxbr2.prg.
Prueba cambiar la funcion AutoEdit asi, para que se corresponda con tu ejemplo.
Code: Select all  Expand view

STATIC FUNCTION AutoEdit()

   local oChild, oBrw, oCol
   local nFor

   DEFINE WINDOW oChild TITLE "Auto edit browse" MDICHILD OF oWnd

   @ 0,0 XBROWSE oBrw OF oChild ALIAS "CUSTOMER";
    COLUMNS "FIRST","LAST","MARRIED","SALARY";
    LINES CELL

   WITH OBJECT oBrw:aCols[4]
      :nEditType     := EDIT_GET
      :bEditWhen     := {|| customer->married}
      :lAutoSave     := .T.
   END
   oBrw:CreateFromCode()
   oChild:oClient := oBrw

   ACTIVATE WINDOW oChild ON INIT oBrw:SetFocus()

RETURN NIL
 

Veo que usas un & pero no se bien para que es, como viene antes tu .prg
Espero te sirva.
Saludos
User avatar
cmsoft
 
Posts: 1285
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Favor AYUDA con Editar Columna en XBROWSE

Postby remtec » Fri Oct 26, 2018 1:09 pm

Hola Cesar.

Muy agradecido por tu ayuda.

Ya habia revisado la opcion que mi indicas, creo que el ejemplo no es para ser usado con recursos, uso recursos RES, con pelles. No me gusta trabajar con coordenadas, no se realmente la diferencia entre ambas, mas alla de la que te comento.

Tu obervacion en relacion al signo & , &nro_usu5-> antes de esta variable, es porque trabajo con DBF de paso, que genero por cada usuario, para este tipo de procesos, al usarlo con este signo, no me debo preocupar del nombre de la DBF en uso. No se si habra otra forma mas moderna, pero la uso desde clipper.

Como puedes ver, aunque que pense que era algo simple al usar Xbrowse y actualizar campos de DBF, hoy se me ha transformado en algo muy complicado por el tiempo que me ha tomado, pensando ademas, que son varias las rutinas que debo actualizar con este metodo.

Muchos Saludos

Antonio.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 72 guests