checkbox en xbrowse

checkbox en xbrowse

Postby artu01 » Fri Dec 20, 2013 11:31 pm

Hola
no consigo hacer que aparezca el cuadradito de check en una columna que es de tipo logica
me pinta .t. o .f.
le he dado todas las formas posibles con "ON" y "OFF"

Code: Select all  Expand view

   REDEFINE XBROWSE oBrw2 ID 5000 OF oDlg ALIAS "CTACTE" ;
   COLUMNS "Voucher","Estado","Mesprov","tipdoc","SerDoc","NumDoc","Moneda","tcambio","DEBES","HABERS","SALDOS","DEBED","HABERD" ;
   HEADERS "Voucher","Estado","Mes","T.Doc.", "Serie", "Numero", "Mon.", "T.C.", "Debe S/.", "Haber S/.", "Saldo S/.", "Debe US$", "Haber US$";
   JUSTIFY, .F., AL_CENTER, .T. ;
   AUTOSORT FASTEDIT ;
   FOOTERS LINES CELL  
   oCol:=oBrw2:oCol("Estado")  
   oCol:SetCheck({"ON","OFF"})
 

Podrian decirme como se hace?
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby joseluisysturiz » Sat Dec 21, 2013 4:31 pm

Primero, estas usando DBF o MYSQL.?
Segundo, si es DBF tiene el campo como logico.?
Tercero, si es MYSQL debes de convertir el valor del campo en .t. / .f. ya que mysql no maneja campos logicos.
Cuarto, puedes poner todas las opciones como defines esa columna para usar el SetCheck,

Quinto, 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: checkbox en xbrowse

Postby artu01 » Sat Dec 21, 2013 4:41 pm

Me explico mejor con una imagen
http://img534.imageshack.us/img534/552/8azl.jpg

espero su ayuda
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby artu01 » Sat Dec 21, 2013 4:46 pm

joseluisysturiz wrote:Primero, estas usando DBF o MYSQL.?
Segundo, si es DBF tiene el campo como logico.?
Tercero, si es MYSQL debes de convertir el valor del campo en .t. / .f. ya que mysql no maneja campos logicos.
Cuarto, puedes poner todas las opciones como defines esa columna para usar el SetCheck,

Quinto, saludos... :shock:

joseluis
1. uso dbf
2. si es campo logico
4. no tengo mucha exp. con xbrowse, aqui mi codigo
Code: Select all  Expand view

   REDEFINE XBROWSE oBrw2 ID 5000 OF oDlg ALIAS "CTACTE" ;
   COLUMNS "Voucher","Estado","Mesprov","tipdoc","SerDoc","NumDoc","Moneda","tcambio","DEBES","HABERS","SALDOS","DEBED","HABERD" ;
   HEADERS "Voucher","Estado","Mes","T.Doc.", "Serie", "Numero", "Mon.", "T.C.", "Debe S/.", "Haber S/.", "Saldo S/.", "Debe US$", "Haber US$";
   JUSTIFY, .F., AL_CENTER, .T. ;
   AUTOSORT FASTEDIT ;
   FOOTERS LINES CELL   //AUTOCOLS


    if ! Empty( oCol := oBrw2:oCol( "Estado" ) )
       oCol:SetCheck({"ON","OFF"})
       oCol:cSortOrder:=nil
       //oCol:bStrData:={||NIL}   ---> aqui bota error por eso lo comento
    Endif
    oBrw2:nMarqueeStyle := 5  
 
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby joseluisysturiz » Sat Dec 21, 2013 5:19 pm

intenta suspender el IF haber si te lo muestra y el oCol:bStrData:={||NIL} es el valor del campo, porque lo colocas en NILL si debe ser .f. o .t. para que aparezca el checkbox.? 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: checkbox en xbrowse

Postby carlos vargas » Sat Dec 21, 2013 5:21 pm

por favor, pon despues del redefine xbrowse

oBrw:SetRdd()

prueba y comentas.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: checkbox en xbrowse

Postby artu01 » Mon Dec 23, 2013 2:55 pm

joseluis:
le he puesto oCol:bStrData:={|| .t.} y bota error
joseluisysturiz wrote:intenta suspender el IF haber si te lo muestra y el oCol:bStrData:={||NIL} es el valor del campo, porque lo colocas en NILL si debe ser .f. o .t. para que aparezca el checkbox.? saludos... :shock:


carlos:
siguel igual sin mostrar la cajita de checkbox
Code: Select all  Expand view

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

   DEFINE DIALOG oDlg RESOURCE "BRW_CTACTE" FONT oFontS

   CTACTE->(DBGoTop())
   select CTACTE
   REDEFINE XBROWSE oBrw2 ID 5000 OF oDlg ALIAS "CTACTE" ;
   COLUMNS "Voucher","Estado" ;
   HEADERS "Voucher","Estado"
    if ! Empty( oCol := oBrw2:oCol( "Estado" ) )
      oCol:SetCheck({"ON","OFF"})
      oCol:cSortOrder:=nil
      oBrw2:SetRdd()
    Endif
    oBrw2:nMarqueeStyle := 5
    ACTIVATE DIALOG oDlg CENTERED ON INIT oBrw2:SetRdd()
 
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby carlos vargas » Mon Dec 23, 2013 3:13 pm

Pon el SetRdd inmediatamente despues del REDEFINE por favor
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: checkbox en xbrowse

Postby artu01 » Mon Dec 23, 2013 6:27 pm

carlos vargas wrote:Pon el SetRdd inmediatamente despues del REDEFINE por favor

Gracias carlos x tu ayuda pero no funcka
sera x la version fwh que tengo es la 8.11?, compile unos prgs demos de xbrowse que consegui por alli pero igual
me sale .t. ó .f. en la columna de campo logica en vez del cuadradito para hacer un check


Espero que me sigan ayudando
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby joseluisysturiz » Mon Dec 23, 2013 8:51 pm

Intenta asi haber

oCol:bStrData:={|| nombre_del_campo con su alias }

y confirma bien si el tipo de campo el logico...deberia funcionarte...saludos... :shock:

tambien intenta asi haber que te hace setcheck({"ON","OFF", .t.}, o dejalo solo asi...setcheck()
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: checkbox en xbrowse

Postby artu01 » Mon Dec 23, 2013 9:54 pm

joseluisysturiz wrote:Intenta asi haber

oCol:bStrData:={|| nombre_del_campo con su alias }

y confirma bien si el tipo de campo el logico...deberia funcionarte...saludos... :shock:

tambien intenta asi haber que te hace setcheck({"ON","OFF", .t.}, o dejalo solo asi...setcheck()

Jose Luis:
he intentado con todas las opciones y no sale el cuadradito sino .t.
Copio parte del xbrowse.prg para saber si es el mismo que Uds. tienen ó sufrio variación (fwh 8.11)
Code: Select all  Expand view

METHOD SetCheck( aBmps, bOnPostEdit ) CLASS TXBrwColumn

   local nBmpOn, nBmpOff := 0, nBmpNull := 0
   local LogiVal := .f.

   if Empty( ::nArrayCol )
      if ::bEditvalue != nil
         LogiVal := ( ValType( Eval( ::bEditvalue ) ) == 'L' )
      endif
   else
      LogiVal := ( ValType( ::oBrw:aArrayData[ 1, ::nArrayCol ] ) == 'L' )
   endif

   if LogiVal
      if If( ".bmp" $ Lower( aBmps[ 1 ] ), ::AddBmpFile ( aBmps[ 1 ] ), ::AddResource( aBmps[ 1 ] ) )
         nBmpOn      := Len( ::aBitMaps )
         if If( ".bmp" $ Lower( aBmps[ 2 ] ), ::AddBmpFile ( aBmps[ 2 ] ), ::AddResource( aBmps[ 2 ] ) )
            nBmpOff  := Len( ::aBitMaps )
         endif
         ::bBmpData  := { | u | If( ( u := Eval( ::bEditValue ) ) == nil, nBmpNull, If( u, nBmpOn, nBmpOff ) ) }
         ::bStrData  := .f.
         ::hChecked  := .t.
         if bOnPostEdit != nil
            ::bOnPostEdit := bOnPostEdit
            ::nEditType   := EDIT_GET
         endif
      endif
   else
      MsgStop( "Method Valid only for logical values" )
   endif

return nil

 

el primer parametro de la funcion es un array de bmps, sera que me faltan los bmps?
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby sysctrl2 » Tue Dec 24, 2013 9:31 pm

Con array a mi me funciona como sigue,
adjunto el exe con todo y codigo,
marca y desmarca con doble clik o barra espaciadora espero te de una LUZ
https://app.box.com/s/riv066zwek9qqkgugx8f

saludos.
Code: Select all  Expand view
* manejo de bitmaps con xbrowse
* 24-dic-2013
* by. SysCtrl.

#include "fivewin.ch"
#include "xbrowse.ch"

static oBrw

Function Main()
  ScChk():New()
return nil

CLASS ScChk
  METHOD New()
  METHOD Teclas()
ENDCLASS

METHOD New() CLASS ScChk
  local oDlg, oFont
  local oBtn
  local oBrush
  local aData

  aData := { {.f.,1,"Cesar Cortes Cruz", 1500.00,600.00}, ;
             {.f.,2,"Nombre 2", 1600.00,700.00} }

  DEFINE BRUSH oBrush COLOR nRGB( 255, 255, 255 )

  DEFINE FONT oFont NAME "TAHOMA" SIZE 5,15

  DEFINE DIALOG oDlg SIZE 800,600 PIXEL FONT oFont TRANSPARENT BRUSH oBrush

  oDlg:cTitle := "Check xbrw"

  @ 10,10 XBROWSE oBrw SIZE -10,-70 PIXEL OF oDlg ;
      DATASOURCE aData ;
      COLUMNS 1, 2, 3, 4, 5 ;
      COLSIZES 90, 150,250,90,90 ;
      HEADERS "Select", "Clave","Nombre","Ingreso","Egreso" ;
      CELL LINES FOOTERS NOBORDER FASTEDIT

  oBrw:bKeyDown := {|nKey| ::Teclas( nKey, @oDlg ) }
  oBrw:nMarqueeStyle    = MARQSTYLE_HIGHLWIN7      
  oBrw:nDataLines := 2
  oBrw:nStretchCol         := STRETCHCOL_LAST

  oBrw:nHeaderLines := 2
  oBrw:nFooterLines := 2

  oBrw:nColSel := 1
  WITH OBJECT oBrw:Ingreso
      :cEditPicture   := "$999,999.99"
  END

  WITH OBJECT oBrw:aCols[1]
    :AddBmpFile(   "checkon.BMP")
    :AddBmpFile(   "checkoff.BMP")
    //:AddResource("CHKON")
    // :AddResource("CHKOFF")
    :bBmpData     := {|| IF( oBrw:aArrayData[ oBrw:nArrayAt ][1], 1, 2) }
    :bStrData     := {|| IF( oBrw:aArrayData[ oBrw:nArrayAt ][1], 'Si', 'No') }
    :blDClickData := {|o, v| ( oBrw:aArrayData[ oBrw:nArrayAt ][1] := !oBrw:aArrayData[ oBrw:nArrayAt ][1], oBrw:DrawSelect() ) }
  END

  WITH OBJECT oBrw
      :CreateFromCode()
  END

  @ 250, 150 BUTTONBMP oBtn1 PROMPT "Aceptar" TEXTRIGHT OF oDlg ;
     ACTION ( oDlg:end() ) PIXEL SIZE 100, 30  CANCEL CENTER
 
  oDlg:lhelpicon := .F.

  ACTIVATE DIALOG oDlg CENTERED
  RELEASE FONT oFont
RETURN NIL

METHOD Teclas( nKey, oDlg, aData ) CLASS ScChk
  if nKey = VK_SPACE //marca o desmarca con la barra espaciadora
    if oBrw:aArrayData[oBrw:nArrayAt][1]
      oBrw:aArrayData[ oBrw:nArrayAt ][1] := .f.
    else
      oBrw:aArrayData[ oBrw:nArrayAt ][1] := .t.
    endif
    oBrw:DrawSelect()
  ENDIF
RETURN NIL
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 960
Joined: Mon Feb 05, 2007 7:15 pm

Re: checkbox en xbrowse

Postby artu01 » Fri Dec 27, 2013 5:15 pm

sysctrl2 wrote:Con array a mi me funciona como sigue,
adjunto el exe con todo y codigo,
marca y desmarca con doble clik o barra espaciadora espero te de una LUZ
https://app.box.com/s/riv066zwek9qqkgugx8f

saludos.
Code: Select all  Expand view
* manejo de bitmaps con xbrowse
* 24-dic-2013
* by. SysCtrl.

#include "fivewin.ch"
#include "xbrowse.ch"

static oBrw

Function Main()
  ScChk():New()
return nil

CLASS ScChk
  METHOD New()
  METHOD Teclas()
ENDCLASS

METHOD New() CLASS ScChk
  local oDlg, oFont
  local oBtn
  local oBrush
  local aData

  aData := { {.f.,1,"Cesar Cortes Cruz", 1500.00,600.00}, ;
             {.f.,2,"Nombre 2", 1600.00,700.00} }

  DEFINE BRUSH oBrush COLOR nRGB( 255, 255, 255 )

  DEFINE FONT oFont NAME "TAHOMA" SIZE 5,15

  DEFINE DIALOG oDlg SIZE 800,600 PIXEL FONT oFont TRANSPARENT BRUSH oBrush

  oDlg:cTitle := "Check xbrw"

  @ 10,10 XBROWSE oBrw SIZE -10,-70 PIXEL OF oDlg ;
      DATASOURCE aData ;
      COLUMNS 1, 2, 3, 4, 5 ;
      COLSIZES 90, 150,250,90,90 ;
      HEADERS "Select", "Clave","Nombre","Ingreso","Egreso" ;
      CELL LINES FOOTERS NOBORDER FASTEDIT

  oBrw:bKeyDown := {|nKey| ::Teclas( nKey, @oDlg ) }
  oBrw:nMarqueeStyle    = MARQSTYLE_HIGHLWIN7      
  oBrw:nDataLines := 2
  oBrw:nStretchCol         := STRETCHCOL_LAST

  oBrw:nHeaderLines := 2
  oBrw:nFooterLines := 2

  oBrw:nColSel := 1
  WITH OBJECT oBrw:Ingreso
      :cEditPicture   := "$999,999.99"
  END

  WITH OBJECT oBrw:aCols[1]
    :AddBmpFile(   "checkon.BMP")
    :AddBmpFile(   "checkoff.BMP")
    //:AddResource("CHKON")
    // :AddResource("CHKOFF")
    :bBmpData     := {|| IF( oBrw:aArrayData[ oBrw:nArrayAt ][1], 1, 2) }
    :bStrData     := {|| IF( oBrw:aArrayData[ oBrw:nArrayAt ][1], 'Si', 'No') }
    :blDClickData := {|o, v| ( oBrw:aArrayData[ oBrw:nArrayAt ][1] := !oBrw:aArrayData[ oBrw:nArrayAt ][1], oBrw:DrawSelect() ) }
  END

  WITH OBJECT oBrw
      :CreateFromCode()
  END

  @ 250, 150 BUTTONBMP oBtn1 PROMPT "Aceptar" TEXTRIGHT OF oDlg ;
     ACTION ( oDlg:end() ) PIXEL SIZE 100, 30  CANCEL CENTER
 
  oDlg:lhelpicon := .F.

  ACTIVATE DIALOG oDlg CENTERED
  RELEASE FONT oFont
RETURN NIL

METHOD Teclas( nKey, oDlg, aData ) CLASS ScChk
  if nKey = VK_SPACE //marca o desmarca con la barra espaciadora
    if oBrw:aArrayData[oBrw:nArrayAt][1]
      oBrw:aArrayData[ oBrw:nArrayAt ][1] := .f.
    else
      oBrw:aArrayData[ oBrw:nArrayAt ][1] := .t.
    endif
    oBrw:DrawSelect()
  ENDIF
RETURN NIL

Hola gente todavia me pregunto porque no me sale el cuadrado de checkbox en el xbrowse
cesar:
como seria para que tu codigo funcione no con arreglos de data sino con tablas dbf?
gracias por la ayuda!
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby artu01 » Fri Dec 27, 2013 6:32 pm

Gracias cesar ya funciono
asi lo solucione
Code: Select all  Expand view
       
          DEFINE DIALOG oDlg SIZE 1000,500 PIXEL TITLE FWVERSION
          @ 0, 1 XBROWSE oLbx OF oDlg ALIAS "activi" SIZE 800, 100 FOOTERS CELL
          oLbx:SetRdd()

          oLbx:bKeyDown := {|nKey| Teclas( nKey, @oDlg ) }
          oLbx:nMarqueeStyle    = 5 //MARQSTYLE_HIGHLWIN7
          oLbx:nDataLines := 2
          oLbx:nStretchCol         := STRETCHCOL_LAST
          WITH OBJECT oLbx:aCols[3]
            :AddBmpFile(   "checkon.BMP")
            :AddBmpFile(   "checkoff.BMP")
            :bBmpData     := {|| IF( activi->estado, 1, 2) }
            :bStrData     := {|| IF( activi->estado, 'Si', 'No') }
            :blDClickData := {|o, v| ( activi->estado:= !activi->estado, oLbx:DrawSelect() ) }
          END
          WITH OBJECT oLbx
            :CreateFromCode()
          END
         ACTIVATE DIALOG oDlg  
 
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: checkbox en xbrowse

Postby sysctrl2 » Fri Dec 27, 2013 10:39 pm

Sabia que te daria una LUZ,
saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 960
Joined: Mon Feb 05, 2007 7:15 pm

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 38 guests