FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SETCHECK POR CELDA - RESUELTO
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
SETCHECK POR CELDA - RESUELTO
Posted: Mon Jun 23, 2014 07:10 AM

Saludos, tengo un xbrowse con mysql y tdolphin con varias columnas que tienen setcheck, al usar el doble click llamo una funcion que verifica el estado del check y lo tilda o destilda pero sobre la columna que valide, lo que necesito es que pueda hacer doble click en la celda del check y modificar esa celda, si le doy doble click fuera de la celda, no debe cambiar ningun ckeck, asi lo cambio en una columna determinada, pero como cambio solo una celda, ya que tengo 5 columnas con setcheck, desde ya gracias por las sugerencias, ayuda e ideas, saludos... :shock:

PROCEDURE tilda_menu( oBrw )

IF oBrw:aArrayData[oBrw:nArrayAt, 3] == .f.
oBrw:aArrayData[oBrw:nArrayAt, 3] := .t.
ELSE
oBrw:aArrayData[oBrw:nArrayAt, 3] := .f.
ENDIF

oBrw:REFRESH()

RETURN

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: SETCHECK POR CELDA
Posted: Mon Jun 23, 2014 11:41 AM
Lo que tienes que actualizar es la query que contiene el xBrowse
Code (fw): Select all Collapse
PROCEDURE tilda_menu( oQry )

IF oQry:tildado = 0
    oQry:tildado := 1
ELSE
    oQry:tildado := 0
ENDIF
oQry:Save()

RETURN

Puedes parametrizarlo más para que indicar cual campo quieres actualizar
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: SETCHECK POR CELDA
Posted: Mon Jun 23, 2014 02:00 PM

Buen dia, gracias por tu respuesta CMSOFT, pero lo que dices no me sirve ya que estoy trabajando con un array en un xbrowse con varias columnas que tienen setcheck y cuando se le da al boton grabar es que salvo los cambios en el query, es una edicion pero en un xbrowse y con setcheck, si tengo una sola columna no tengo problemas y se hacerlo ya que al darle doble click en cualquier linea linea uso el evento bLDblClick del xbrowse y uso la funcion que ya mostre,

PROCEDURE tilda_menu( oBrw )

IF oBrw:aArrayData[oBrw:nArrayAt, 3] == .f.
oBrw:aArrayData[oBrw:nArrayAt, 3] := .t.
ELSE
oBrw:aArrayData[oBrw:nArrayAt, 3] := .f.
ENDIF

oBrw:REFRESH()

RETURN

el detalle es que el evento bLDblClick debe ser solo en las columnas que tienen setcheck y ademas en una celda especifica, alli es el detalle por los momentos, gracias, saludos... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: SETCHECK POR CELDA
Posted: Mon Jun 23, 2014 05:04 PM
Prueba asi, es una idea, no lo probe yo, pero por ahi puede andar...
Code (fw): Select all Collapse
PROCEDURE tilda_menu( oBrw )
//nRowSel  Current row selected based on current display
//nColSel Current columns based on current display
IF oBrw:aArrayData[oBrw:nArrayAt, 3] == .f.
   oBrw:aArrayData[oBrw:nRowSel,oBrw:nColSel ] := .t.
   ELSE
   oBrw:aArrayData[oBrw:nRowSel,oBrw:nColSel ]  := .f.
ENDIF

oBrw:REFRESH()

RETURN
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: SETCHECK POR CELDA
Posted: Tue Jun 24, 2014 01:24 AM

Bastaba con hacer esto en la columna, gracias a Ariel por el dato, saludos... :shock:

oCol:nEditType := EDIT_GET

Dios no está muerto...



Gracias a mi Dios ante todo!

Continue the discussion