xBrowse duplica el renglon al editar

Post Reply
devtuxtla
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

xBrowse duplica el renglon al editar

Post by devtuxtla »

Hola FiveWinners

Cuando estoy editando en xBrowse una columna tipo combobox, me duplica el renglon y la edicion se realiza en el siguiente renglon duplicado, ya verifique la información y el registro en la tabla no esta duplicado.
utilizo la version FW 14.09

Gracias por su ayuda

Este es el codigo que utilizo

Code: Select all | Expand


REDEFINE XBROWSE oBrw ID 2001  OF oDlg LINES  ALIAS Alias()  //;
ADD COLUMN  TO oBrw DATA  N02_DIA_ASISTENCIA((cNAlias)->EM_FECHA) ;
HEADER "Día de " + CRLF + "Asistencia" ;
SIZE 80

ADD COLUMN  TO oBrw DATA  (cNAlias)->EM_FECHA ;
HEADER "FECHA " + CRLF + "Asistencia" ;
SIZE 80

ADD COLUMN  TO oBrw DATA  (cNAlias)->NA_HORA01 ;
HEADER "Hora de " + CRLF + "Entrada" ;
SIZE 60

ADD COLUMN  TO oBrw DATA  (cNAlias)->NA_HORA02 ;
HEADER "Hora de " + CRLF + "Salida" ;
SIZE 60
   
ADD COLUMN  TO oBrw DATA  (cNAlias)->NA_HORA03 ;
HEADER "Hora de " + CRLF + "Entrada" ;
SIZE 60

ADD COLUMN  TO oBrw DATA  (cNAlias)->NA_HORA04 ;
HEADER "Hora de " + CRLF + "Salida" ;
SIZE 60

ADD COLUMN  TO oBrw DATA  (cNAlias)->NA_HORAST ;
HEADER "Horas " + CRLF + "Trabajadas" ;
SIZE 60

ADD COLUMN oCCHK TO oBrw DATA (cNAlias)->NA_ASISTE  ;
TITLE "Asistio" COLOR ncolor5, nColor4  ;
ALIGN LEFT  ;
SIZE 80

ADD COLUMN oCALIF TO oBrw DATA (cNAlias)->EM_CALIFIC ;
HEADER "Asistencia" ; //+ CRLF + "Calificada" ;
SIZE 200

ADD COLUMN oActual TO oBrw DATA  (cNAlias)->NA_TIPMOV ;
HEADER "SeCalificó" ;
SIZE 120          

ADD COLUMN oComb TO oBrw DATA  (cNAlias)->NA_TIPMOV ;
HEADER "Movimiento" ;
SIZE 120 EDITABLE   ;
WHEN N20_CAMBIAR_MOVTO(cNAlias, @aMOVTOS, @oBrw)  

 
WITH OBJECT oBrw:Movimiento
      :nEditType        := EDIT_LISTBOX
      // :aEditListTxt    := ArrTranspose( aMOVTOS ) [ 1 ]
      :aEditListBound  := ArrTranspose( aMOVTOS ) [ 1 ]
      :aEditListTxt := aMOVTOS
END

ADD COLUMN oPERMI TO oBrw DATA (cNAlias)->NA_TPERMIS ;
HEADER "Tipo Permiso" ;
SIZE 200

oComb:bOnPostEdit := {|o, v, n| iif( n != VK_ESCAPE, ( NW_REPLACE("NA_TIPMOV", v, .F., cNAlias ), N20_CAMBIAR_DIA(@cNAlias, @oBrw, oDlg), oBrw:REFRESH()  ), ) }

oBrw:bClrStd        = { || { If( (oBrw:cAlias)->NA_TIPMOV="Retardo:", RGB( 255,255,200 ), CLR_BLACK), RGB( 232, 255, 232 ) } }
oBrw:Asistencia:bClrStd = { || { If( AT("Retardo:",(oBrw:cAlias)->EM_CALIFIC)>0, CLR_HRED, CLR_BLACK), RGB( 232, 255, 232 ) } }

oBrw:bClrSel = { || { If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_WHITE ), RGB( 0x33, 0x66, 0xCC ) } }

 


y esta es la imangen

Image
Visite Chiapas, el paraiso de México.
User avatar
Antonio Linares
Site Admin
Posts: 42556
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 80 times
Contact:

Re: xBrowse duplica el renglon al editar

Post by Antonio Linares »

Puedes probar este ejemplo con tu versión de FWH y comprobar si se produce el error ?

Aqui funciona bien con FWH 15.09

Code: Select all | Expand

#INCLUDE "FiveWin.ch"
#INCLUDE "XBrowse.ch"

function Main()

   local oWnd, aLin := {}, i, oBrw, oBtn

   for i := 1 TO 6
      AAdd( aLin, { i, "Description " + Str( i ), Replicate( Chr( 64 + i ), 2 ) } )
   next

   SetGetColorFocus()
   DEFINE WINDOW oWnd

   @ 10,10 XBROWSE oBrw OF oWnd ;
      AUTOCOLS ;
      HEADERS 'Cod', 'Description', 'Cd' ;
      ARRAY aLin ;
      CELL LINES

   WITH OBJECT oBrw
      // pajama colors code
      // KeyNo() can be used for Arrays, RDD, ADO and all datasources
      :bClrStd    := { || If( oBrw:KeyNo() % 2 == 0, ;
                         { CLR_BLACK, RGB( 224, 236, 255 ) }, ;
                         { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
      :bPopUp     := { || PopMenu( oBrw ) }
   END

   WITH OBJECT oBrw:Cod
      :nEditType     := EDIT_GET
      :bEditValid    := { | oGet, oCol | Valida( oGet, oCol ) }
   END

   oBrw:Description:nEditType := EDIT_GET

   WITH OBJECT oBrw:Cd
      :nEditType        := EDIT_LISTBOX
      :aEditListBound   := ;
      :aEditListTxt     := { "AA", "BB", "CC", "DD", "EE", "FF", "GG", "HH" }
   END

   // Note: bOnPostEdit codeblocks are automatically constructed by SetArray() method

   oBrw:CreateFromCode()
   oWnd:oClient   := oBrw

   ACTIVATE WINDOW oWnd

RETURN NIL

STATIC FUNCTION Valida( oGet, oCol )

   local nVal := 0

   if oGet:Value() > 6
      MsgAlert( "Must be lower than 7" )
      if MsgGet( "New value", "Enter number between 1 and 6", @nVal )
         if nVal > 0 .and. nVal < 7
            oGet:VarPut( nVal )
            oCol:PostEdit()
            return .T.
          endif
      endif
      return .F.
    endif

return .T.

function PopMenu( oBrw )

   local oMenu

   MENU oMenu POPUP 2007
      MENUITEM "Add" ACTION ( AAdd( oBrw:aArrayData, ;
         { Len( oBrw:aArrayData ) + 1 , "New item    " + Str( Len( oBrw:aArrayData ) + 1 ), ;
         Replicate( Chr( 64  + Len( oBrw:aArrayData ) + 1 ), 2 ) } ), oBrw:Refresh() )
      MENUITEM "Delete" ACTION ( ADel( oBrw:aArrayData, oBrw:nArrayAt ), ASize( oBrw:aArrayData, Len( oBrw:aArrayData ) - 1 ), oBrw:Refresh() )
      MENUITEM "Select 3rd Row" ACTION ( oBrw:GoTop(), oBrw:nArrayAt := 3, oBrw:nRowSel := 3, oBrw:Refresh() )
      MENUITEM "Delete All" ACTION ( ASize( oBrw:aArrayData, 0 ), oBrw:Refresh() )
      MENUITEM "Report" ACTION oBrw:Report()
      MENUITEM "Excel"  ACTION oBrw:ToExcel()
   ENDMENU

return oMenu

//------------------------------------------------------------------//

 
regards, saludos

Antonio Linares
www.fivetechsoft.com
devtuxtla
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: xBrowse duplica el renglon al editar

Post by devtuxtla »

Hola Antonio.

Gracias por responder.

Ya hice la prueba con el codigo, y no, no lo duplica.

Te comento que que estoy utilizando tablas con indices CDX.

Alguna idea adicional ?

Saludos
Visite Chiapas, el paraiso de México.
User avatar
Antonio Linares
Site Admin
Posts: 42556
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 80 times
Contact:

Re: xBrowse duplica el renglon al editar

Post by Antonio Linares »

Puedes construir FWH\samples\FiveDBU.prg y ver si tambien falla ? gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
devtuxtla
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: xBrowse duplica el renglon al editar (RESUELTO)

Post by devtuxtla »

Hola Antonio.

Muchas gracias por la sugerencia.

El problema radicaba en el indice compuesto, al corregir el error de crear un indice donde se combina una dato numerico mas una fecha en formato DTOC, ocurre el error.
Cambie el indice a la composicion de dato numerico mas fecha en formato DTOS y todo bien.

Saludos
Visite Chiapas, el paraiso de México.
User avatar
Antonio Linares
Site Admin
Posts: 42556
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 80 times
Contact:

Re: xBrowse duplica el renglon al editar

Post by Antonio Linares »

muy bien! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply