FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour tsbrowse y tArray ( SOLUCIONADO )
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
tsbrowse y tArray ( SOLUCIONADO )
Posted: Sat Dec 13, 2008 04:40 PM
Estimados

Como poder editar un celda CHECKBOX con clase tArray

al presionar doble click o tecla espacio no hace NADA

adjunto ejemplo

	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

	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
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
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
tsbrowse y tArray ( SOLUCIONADO )
Posted: Mon Dec 15, 2008 01:47 PM
Lo he solucionado momentaneamente por estas lineas

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

	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
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
tsbrowse y tArray ( SOLUCIONADO )
Posted: 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
   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
manuelmercado at prodigy dot net dot mx
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
tsbrowse y tArray ( SOLUCIONADO )
Posted: Thu Dec 18, 2008 03:47 PM
Gracias maestro funcion贸, solo con una correccion
oIng:Save()

	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

Continue the discussion