SetCheck en Xbrowse con consulta Dolphin

SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Mon Nov 11, 2013 1:36 pm

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 view
    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 view

   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
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: SetCheck en Xbrowse con consulta Dolphin

Postby carlos vargas » Mon Nov 11, 2013 1:39 pm

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
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Mon Nov 11, 2013 1:44 pm

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

Re: SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Mon Nov 11, 2013 2:12 pm

Lamentablemente no me muestra el SetCheck con el formato de casilla de verificación.
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: SetCheck en Xbrowse con consulta Dolphin

Postby carlos vargas » Mon Nov 11, 2013 4:10 pm

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 view

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
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Mon Nov 11, 2013 4:24 pm

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
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: SetCheck en Xbrowse con consulta Dolphin

Postby carlos vargas » Mon Nov 11, 2013 4:33 pm

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
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Postby joseluisysturiz » Tue Nov 12, 2013 3:36 am

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
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Tue Nov 12, 2013 12:03 pm

Hola Carlos:
Mi duda es porque usas
Code: Select all  Expand view
REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS "FERI" ON DBLCLICK Feriados_Editar( FALSE ) FONT oFontD

en lugar de
Code: Select all  Expand view
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: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Tue Nov 12, 2013 12:41 pm

Hola Jose Luis!
Y directamente desde la consulta no lo has probado? Sin pasarlo a un array?
Gracias por responder.
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: SetCheck en Xbrowse con consulta Dolphin

Postby carlos vargas » Tue Nov 12, 2013 2:30 pm

Code: Select all  Expand view
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
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: SetCheck en Xbrowse con consulta Dolphin

Postby joseluisysturiz » Tue Nov 12, 2013 8:07 pm

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
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Wed Nov 13, 2013 1:36 pm

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
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: SetCheck en Xbrowse con consulta Dolphin

Postby joseluisysturiz » Wed Nov 13, 2013 3:22 pm

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
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: SetCheck en Xbrowse con consulta Dolphin

Postby cmsoft » Fri Nov 15, 2013 1:09 pm

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?
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 89 guests