SetCheck en Xbrowse con consulta Dolphin

User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Estimados:
Quiero poner una columna con un checkbox en un xbrowse.
Si lo hago así con una dbf no hay problemas

Code: Select all | Expand

    use trans  
      REDEFINE XBROWSE oBrw ALIAS "trans";
         COLUMNS "campo1","campo2","campo3";
         HEADERS "Marca","Tasa", "Nro. Control";
         SIZES 40,50,90   ID 111 OF oDlg
      oBrw:OCol(1):SetCheck(nil,.t.,)

el browse muestra la primer fila (que es de tipo lógica) con el checkbox
Pero al querer hacerla con una consulta con la clase Dolphin, no me muestra la columna con el checkbox. El campo marca no existe en la tabla, lo creo como falso, PERO LO PONE EN 0 si lo muestro sin el CHECKBOX.

Code: Select all | Expand


   oQry  := OApp:oServer:Query("SELECT FALSE AS marca, se_deuda.* FROM SE_DEUDA ORDER BY contri")
   REDEFINE XBROWSE oBrw DATASOURCE oQry;
        COLUMNS "marca","tasa","contri","mes","ano","importe_ori","importe_act","estado","fecha_pago","Importe_Pago", "Forma_de_Pago";
        HEADERS "Marca","Tasa", "Nro. Control","Cta","Año","$ Origen","$ Actual","Estado","Pagado el","Pagado $","Forma Pago";
        FOOTERS;
        SIZES 40,50,90,50,50,90,90,90,90,90,90   ID 111 OF oDlg

     oBrw:OCol(1):SetCheck(nil,.t.,)
 

Como puedo hacer para que funcione similar a las DBF
Gracias
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Post by carlos vargas »

mira tdolphin.ch
creo que es
SET LOGICALVALUE ON

para que los 0/1 funcionen como .t./.f.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Gracias Carlos, por responder tan rapidamente!
Pruebo y comento!!
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Lamentablemente no me muestra el SetCheck con el formato de casilla de verificación.
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Post by carlos vargas »

aca me esta funcionando muy bien. La columna 3 oQryFeri:NACIONAL es logica y me esta mostradon la casilla de verificacion.

salu2

Code: Select all | Expand


PROCEDURE Feriados()
   PRIVATE oError
   PRIVATE oDlg, oBrw, oToolbar, oPopUp1, oBtnFilter
   PRIVATE oQryFeri, oQryCiud
   PRIVATE cFiltro, lFiltrado
   PRIVATE bColCiudad

   cFiltro   := ""
   lFiltrado := FALSE

   IF !oSesion:EsAdmin()
      cFiltro := ""
   ELSE
      cFiltro := "NUM_CIUD=%1 OR NUM_CIUD=0"
      cFiltro := StrFormat( cFiltro, Var2Str( oSesion:GetNumCiudad() ) )
   ENDIF

   TRY
      oQryCiud := oServer:Query2( "SELECT NUM_CIUD, NOMBRE FROM CIUDADES ORDER BY NOMBRE" )
      IF !Empty( cFiltro )
         oQryFeri := oServer:Query2( "SELECT * FROM vCATFERI WHERE " + cFiltro + " ORDER BY FECHA" )
      ELSE
         oQryFeri := oServer:Query2( "SELECT * FROM vCATFERI ORDER BY FECHA" )
      ENDIF
      oQryCiud:FillDbf( "TBLCIUD", "TEMP1" )
      oQryCiud:END()
   CATCH oError
      IIf( HB_IsObject( oQryCiud ), oQryCiud:END(), NIL )
      IIf( HB_IsObject( oQryFeri ), oQryFeri:END(), NIL )
      ShowError( oError )
      RETURN
   END

   bColCiudad := {|| IIf( oQryFeri:NACIONAL, "N/D", oQryFeri:NOMCOR ) }

   DEFINE DIALOG oDlg NAME "DLG_FERIADOSC" OF oMainWnd ICON GetIcon() FONT oFontD

   REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS "FERI" ON DBLCLICK Feriados_Editar( FALSE ) FONT oFontD

   ADD TO oBrw DATA oQryFeri:FECHA      TITLE "Fecha"              SIZE 090 CENTER PICTURE "@D"
   ADD TO oBrw DATA oQryFeri:MOTIVO     TITLE "Motivo del feriado" SIZE 270
   ADD TO oBrw DATA oQryFeri:NACIONAL   TITLE "Nacional"           SIZE 054
   ADD TO oBrw DATA bColCiudad          TITLE "Ciudad"             SIZE 054

   WITH OBJECT oBrw
      :SetDolphin( oQryFeri, FALSE )
      :MyConfig()
      :aCols[ 03 ]:SetCheck( { "BMS_CHECKON","BMS_CHECKOFF" } )
      :bKeyDown      := {|nKey| Feriados_ProcesaTecla( nKey ) }
      :lHScroll      := FALSE
      :nHeaderHeight := 36
   END

   ACTIVATE DIALOG oDlg ON INIT Feriados_Toolbar()

   TEMP1->( DBCloseArea() )

   oQryFeri:END()

 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Carlos:
Vos estas pasando la consulta a una tabla DBF no?
Porque directamente desde tablas DBF me anda perfecto el setcheck, pero no desde una consulta directamente.
Sigo teniendo el mismo problema.
Gracias
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Post by carlos vargas »

nop, esa es otra consulta la que paso a dbf, la consulta principal, la que uso en xbrowse se mantiene como un objeto query de dolphin.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: SetCheck en Xbrowse con consulta Dolphin

Post by joseluisysturiz »

Como mysql no maneja campos logicos, lo que hago es agregar una columna adicional despues del query o puedes pasar el query a un array y alli manejas la columna con valor logico, y trabaja sin problema, buscare el ejemplo para ponerlo, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Hola Carlos:
Mi duda es porque usas

Code: Select all | Expand

REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS "FERI" ON DBLCLICK Feriados_Editar( FALSE ) FONT oFontD

en lugar de

Code: Select all | Expand

REDEFINE XBROWSE oBrw ID 101 OF oDlg DATASOURCE oQryFeri ON DBLCLICK Feriados_Editar( FALSE ) FONT oFontD

Usas un formato de DBF para abrir una consulta DOLPHIN, es nuevo para mi eso. Quien es FERI?
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Hola Jose Luis!
Y directamente desde la consulta no lo has probado? Sin pasarlo a un array?
Gracias por responder.
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Post by carlos vargas »

Code: Select all | Expand

REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS "FERI" ON DBLCLICK Feriados_Editar( FALSE ) FONT oFontD

pues sip, tiene razon, se me ha quedado ese pedazo de codigo, lo he eliminado y cero roblemas. :-)
gracias por la observacion.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: SetCheck en Xbrowse con consulta Dolphin

Post by joseluisysturiz »

cmsoft wrote:Hola Jose Luis!
Y directamente desde la consulta no lo has probado? Sin pasarlo a un array?
Gracias por responder.


Fijate lo que hago usando la consulta directa, sin array:

1. tengo un campo que es vez de ser logico, lo uso de tipo integer de 1 valor, en el cual uso 0 ó 1.
2. esa columna la muestro asi

oBrw:aCols[5]:cHeader := "ADJ."
oBrw:aCols[5]:bEditValue := {|| IIF( oQryADJ:LastRec() == 0, SPACE(10) ,;
( IIF( oQryADJ:adj_adjudicar==0, .f., .t. ) ) ) }
oBrw:aCols[5]:nHeadStrAlign := AL_LEFT
oBrw:aCols[5]:nDataStrAlign := AL_LEFT
oBrw:aCols[5]:nWidth := 30
oBrw:aCols[5]:bClrStd := {|| {CLR_BLACK, CLR_CYAN} }
oBrw:aCols[5]:SetCheck( { "OK16", } )
oBrw:aCols[5]:cToolTip := "Doble Click/ENTER/ESPACIO para marcar o descargar."

3. en la defincion del xbrowse hago eso:
// ACT./DES. STATUS SELECCIONADO PARA ADJUDICAR CON D-CLICK
:bLDblClick := {|nRow|IIF( oQryADJ:adj_adjudicar = 0 ,;
( oQryADJ:adj_adjudicar := 1 ) ,;
( oQryADJ:adj_adjudicar := 0 ) ) ,;
act_check( oQryAdj ) ,;
oQryADJ:REFRESH(), oBrw:REFRESH() }

// ACT./DES. STATUS SELECCIONADO PARA ADJUDICAR CON SPACE
:bKeyDown= {|nKey| IF ( nKey == VK_SPACE ,;
IIF( oQryADJ:adj_adjudicar = 0 ,;
( oQryADJ:adj_adjudicar := 1 ) ,;
( oQryADJ:adj_adjudicar := 0 ) ), ) }

4. esta es la funcion act_check()
PROCEDURE act_check( oQryAdj ) // ACTUALIZA CHECK PARA adjudicar

LOCAL cSql, oError
oQryAdj:REFRESH()

cSql := "UPDATE cronograma SET "
cSql += "adj_adjudicar=" + ClipValue2SQL( IF( oQryAdj:adj_adjudicar == 0, 1, 0 ) )
cSql += " WHERE adj_insc = '" + ClipValue2SQL( oQryAdj:adj_insc ) + "' "

TRY
oDatos:oConex:Execute( cSql )

CATCH oError
MSGALERT( oError:Description + CRLF + ;
"Error Grabando en Tabla (cronograma), Sentencia" + CRLF + CRLF + ;
cSql, oDatos:cTitMsg )
END

RETURN

espero te ayude o de alguna buena idea o mejorar como lo hago, gracias y saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Hola Jose Luis:
Gracias por tu ayuda!
Ya sale el cuadradito del checkbox en mi browse.
Ahora el problema es que cuando le doy doble click me da un error de ONEDIT que no está definida en XBROWSE.
En mi caso el campo que muestro como checkeable no está en la tabla, solo lo muestro en la consulta.
Gracias por tu ayuda...
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: SetCheck en Xbrowse con consulta Dolphin

Post by joseluisysturiz »

Que bueno te haya servido, cualquier cosa como todo este foro, estoy a la orden, siempre y cuando pueda y sepa, jeje...saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: SetCheck en Xbrowse con consulta Dolphin

Post by cmsoft »

Hola!
Ahora no me deja cambiar el estado.
Será porque es un campo que no pertenece a la tabla, sino que es de la consulta?
Tal vez Daniel pueda responderlo...
En caso de que sea un campo de la tabla, de que tipo MySql tengo que definirlo para poder tratarlo como lógico directamente?
Post Reply