FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con una de xbrowse
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Ayuda con una de xbrowse
Posted: Fri May 10, 2013 10:06 AM
Tengo un xbrowse declarado ::nMarqueeStyle := MARQSTYLE_HIGHLROW pero pretendo que cuando le haga click sobre la cabecera de una columna ,esta se vuelva editable , al hacer el siguiente click esta tiene que volverse de nuevo no editable .
El caso es nEditType cambia a editable , pero luego al siguiente click no se anula , tampoco se anulan los codeblocks oSuper:bKeyDown = { | nKey | .T. }
oSuper:blDblClick := { | nRow, nCol, nKey | .t. }

mi codigo esta asi :
Code (fw): Select all Collapse
.....
      //-------------- columna a editar ...................

     oThis:= Self
      
      oCol := :AddCol()
      WITH OBJECT oCol
         :cHeader  := "Oferta"
         :bLClickHeader := {|nMRow, nMCol, nFlags, Self|  FbClick(SELF,oThis) }
         :nDataStrAlign := AL_RIGHT
         :bStrData  := { || (::calias)->oferta }
       END

......

// la funcion a la que llama el header al hacer click ..
 STATIC FUNCTION FbClick(o,oSuper)
     IF  o:nEditType == 1
        o:nEditType := 5
        o:bOnPostEdit := {|o, v, n| iif( n != VK_ESCAPE, (oSuper:calias)->oferta := v  , ) }
        oSuper:oBrw:bKeyDown  = { | nKey | .T. }
        oSuper:oBrw:blDblClick := { | nRow, nCol, nKey | .t.  }

     ELSE
        o:nEditType:= 1
        o:bOnPostEdit := {|| .t. }
        oSuper:oBrw:blDblClick := { | nRow, nCol, nKey |oSuper:Edit()  }
        oSuper:oBrw:bKeyDown  = { | nKey | oSuper:KeyDown( nKey ) }

     ENDIF
     pausa( o:nEditType )
     oSuper:oBrw:refresh()

  RETURN nil

Continue the discussion