tsbrowse y tArray ( SOLUCIONADO )

tsbrowse y tArray ( SOLUCIONADO )

Postby Patricio Avalos Aguirre » Sat Dec 13, 2008 4:40 pm

Estimados

Como poder editar un celda CHECKBOX con clase tArray

al presionar doble click o tecla espacio no hace NADA

adjunto ejemplo

Code: Select all  Expand view
   REDEFINE BROWSE oLbx[1] ID 110 OF PAGE3 CELLED COLORS CLR_BLACK, RGB( 255, 255, 235)

   DEFINE STRUCT oIng:oTramite
      STRUCT FIELD tipo         INIT   space(19)
      STRUCT FIELD lsolicita   INIT   .F.
      STRUCT FIELD quienpaga   INIT    space(10)
      STRUCT FIELD Monto      INIT 0
      STRUCT FIELD documento   INIT   space(20)
      STRUCT FIELD numero      INIT   0
      STRUCT FIELD banco      INIT   space(15)
      STRUCT FIELD lrealizado   INIT   .f.
      STRUCT FIELD lpagado      INIT   .f.
      STRUCT FIELD Fecha      INIT    date()
    END STRUCT

   aArray := {{ "Inscripción RNVM"      , .F., PadR("Cliente",10), 0, space(20), 0, space(15), .f., .f., DATE()},;
              { "Revisión Técnica"      , .F., PadR("Cliente",10), 0, space(20), 0, space(15), .f., .f., DATE()},;
              { "Seguro Obligatorio"   , .F., PadR("Cliente",10), 0, space(20), 0, space(15), .f., .f., DATE()},;
              { "Permiso Circulación"   , .F., PadR("Cliente",10), 0, space(20), 0, space(15), .f., .f., DATE()},;
              { "Transferencia"         , .F., PadR("Cliente",10), 0, space(20), 0, space(15), .f., .f., DATE()}}

   for i :=  1 to 5
       ::oTramite:Append()
      ::oTramite:tipo       := aArray[i,1]
      ::oTramite:lsolicita    := aArray[i,2]
      ::oTramite:quienpaga    := aArray[i,3]
      ::oTramite:Monto       := aArray[i,4]
      ::oTramite:documento    := aArray[i,5]
      ::oTramite:numero       := aArray[i,6]
      ::oTramite:banco       := aArray[i,7]
      ::oTramite:lrealizado := aArray[i,8]
      ::oTramite:lpagado    := aArray[i,9]
      ::oTramite:Fecha       := aArray[i,10]
      ::oTramite:Save()
   next i

   ::oTramite:Gotop()

   WITH OBJECT oLbx[1]

      :SetArray( oIng:oTramite:aDatos )
      :lNoChangeOrd:= .t.
      :lNoVScroll := .f.
      :lNoHScroll := .t.
      :nHeightCell += 5  //filas
      :nHeightHead += 10  //columnas
      :SetColor( { 9, 10 }, { CLR_BLACK, ViewUsu():aTexture[1] } )  // brushed Footers background
      :SetColor( { 5, 6, 4, 15 }, ;
                  { CLR_WHITE, CLR_BLACK, ; // cursor
                    ViewUsu():aTexture[1],                ; // brushed headers background
                    CLR_BLACK },          ; // grid lines
                    NIL )

      :nRowPos    := 1  // reinitialize for multiple calls to this method
      :nColPos    := 1
      :nCell      := 1
      :lHitTop    := .F.
      :lHitBottom := .F.
      :HiliteCell( 1 )
      :bLogicLen    := { || Len( oIng:oTramite:aDatos ) }
      :bGoTop       := { || oIng:oTramite:Gotop() }
      :bGoBottom    := { || oIng:oTramite:Gobottom() }
      :bSkip        := { |nSkip| oIng:oTramite:skip(nSkip) }
   END WITH

   ADD COLUMN TO BROWSE oLbx[1] DATA oIng:oTramite:tipo;
         TITLE "Tip.Tramite"                            ;
         SIZE 100 PIXELS                               ;
         3DLOOK TRUE,TRUE,FALSE                         ;
         ALIGN DT_LEFT,DT_CENTER,DT_CENTER            ;
         COLORS CLR_BLACK, CLR_HGRAY

   ADD COLUMN TO BROWSE oLbx[1] DATA oIng:oTramite:lSolicita ;
       TITLE "Solicita"  ;
       ALIGN DT_CENTER, DT_CENTER; 
       SIZE 40 EDITABLE CHECKBOX ; 
       3DLOOK TRUE, TRUE, TRUE;
       COLORS CLR_HMAGENTA, RGB( 255, 255, 235)

   activate dialog oDlg

return



aHora si cambio la columna 2

Code: Select all  Expand view
   ADD COLUMN TO BROWSE oLbx[1] DATA ARRAY ELEMENT 2 ;
       TITLE "Solicita"  ;
       ALIGN DT_CENTER, DT_CENTER;
       SIZE 40 EDITABLE CHECKBOX ;
       3DLOOK TRUE, TRUE, TRUE;
       COLORS CLR_HMAGENTA, RGB( 255, 255, 235)



Todos los elementos de la lista cambian??

desde ya muchas gracias
Last edited by Patricio Avalos Aguirre on Thu Dec 18, 2008 3:48 pm, edited 2 times in total.
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Postby Patricio Avalos Aguirre » Mon Dec 15, 2008 1:47 pm

Lo he solucionado momentaneamente por estas lineas

si alguien tiene una mejor solución, bienvenida sea..

Code: Select all  Expand view
   ADD COLUMN TO BROWSE oLbx[1] DATA oIng:oTramite:tipo;
         TITLE "Tip.Tramite"                            ;
         SIZE 100 PIXELS                               ;
         3DLOOK TRUE,TRUE,FALSE                         ;
         ALIGN DT_LEFT,DT_CENTER,DT_CENTER            ;
         COLORS CLR_BLACK, CLR_HGRAY

   ADD COLUMN TO BROWSE oLbx[1] DATA oIng:oTramite:lSolicita;
       TITLE "Solicita"  ;
       ALIGN DT_CENTER, DT_CENTER;
       SIZE 40 EDITABLE CHECKBOX ;
       3DLOOK TRUE, TRUE, TRUE;
       COLORS CLR_HMAGENTA, RGB( 255, 255, 235)

   oLbx[1]:aColumns[2]:bPostEdit := { |x| oIng:oTramite:lSolicita := x, oIng:oTramite:Save() }
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Postby mmercado » Wed Dec 17, 2008 12:58 am

Patricio Avalos Aguirre wrote:si alguien tiene una mejor solución, bienvenida sea..
Hola Patricio:

Me parece muy buena tu solución.

También podrías probar lo siguiente
Code: Select all  Expand view
   ADD COLUMN TO BROWSE oLbx[1] ;
   DATA { |lVar| If( lVar == Nil, oIng:oTramite:lSolicita, oIng:oTramite:lSolicita := lVar ) } ;
   TITLE "Solicita" ALIGN DT_CENTER, DT_CENTER;
   SIZE 40 EDITABLE CHECKBOX 3DLOOK TRUE, TRUE, TRUE;
   COLORS CLR_HMAGENTA, RGB( 255, 255, 235)
Un Abrazo.

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby Patricio Avalos Aguirre » Thu Dec 18, 2008 3:47 pm

Gracias maestro funcionó, solo con una correccion
oIng:oTramite:Save()

Code: Select all  Expand view
   ADD COLUMN TO BROWSE oIng:oLbx[_TRAMITES] ;
      DATA { |lVar| If( lVar == Nil, oIng:oTramite:lSolicita, (oIng:oTramite:lSolicita := lVar, oIng:oTramite:Save()) ) } ;
      TITLE "Solicita" ALIGN DT_CENTER, DT_CENTER;
      SIZE 40 EDITABLE CHECKBOX 3DLOOK TRUE, TRUE, TRUE;
      COLORS CLR_HMAGENTA, RGB( 255, 255, 235)
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 12 guests