GRID VIRTUAL y ON CHECKBOXCLICKED

HMG en Español

Moderator: Rathinagiri

Post Reply
User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

GRID VIRTUAL y ON CHECKBOXCLICKED

Post by SALINETAS24 »

Hola a todos,
Vengo usando de manera habitual el GRID VIRTUAL y ahora necesito implementar el ON CHECKBOXCLICKED.
El caso es que aparece el espacio pero no boton de seleccionar.
He leido en el foro y parece ser que es un tema persistente en el tiempo, ya que en el año 2016 al parecere ya fue detectado.
¿no se ha solucionado hasta la fecha?
¿no es posible impletar ON CHECKBOXCLICKED en un GRID virtual?
¿Hay alguna forma de usar esto en un GRID VIRTUAL o tengo que pasar los datos a un GRID NORMAL?,


Gracias
Correo por srvet_claudio »jue 12 mayo 2016 1:45 am
No es un error, Virtual Grid (como fuente de fila) no funciona con la casilla de verificación.
Para corregir el error al compilar, vea esta publicación:viewtopic.php?f=43&t=4738&start=30#p45165
Atentamente.
Dr. Claudio Soto
(de Uruguay)
http://srvet.blogspot.com

Code: Select all

/*
* HMG Virtual Grid Demo
* (c) 2003 Roberto Lopez
*/

#include "hmg.ch"
#define BS_MULTILINE         8192
#define BS_CENTER            768

* When using virtual Grids you must avoid to use Item property and additem 
* method. It can generate unexpected results.

Function Main

	DEFINE WINDOW Form_1 ;
		AT 0,0 ;
		WIDTH 450 ;
		HEIGHT 400 ;
		TITLE 'Hello World!' ;
		MAIN 

		DEFINE MAIN MENU
			DEFINE POPUP 'File'
				MENUITEM 'Change ItemCount' ACTION Form_1.Grid_1.ItemCount := Val(InputBox('New Value','Change ItemCount'))
			END POPUP
		END MENU

		@ 10,10 GRID Grid_1 ;
			WIDTH 400 ;
			HEIGHT 330 ;
			HEADERS {'Column 1','Column 2','Column 3'} ;
			WIDTHS {140,140,140};
			VIRTUAL ;
			ITEMCOUNT 100000000 ;
			ON DBLCLICK PonerMensaje() ;
			ON QUERYDATA QueryTest() ;
			ON CHECKBOXCLICKED MSGBOX("TOMA")

	END WINDOW
	
		SetProperty( "Form_1", "Grid_1", "CheckBoxEnabled", .T.)
		Form_1.Grid_1.CheckBoxEnabled 

	CENTER WINDOW Form_1
	HMG_ChangeWindowStyle ( GetControlHandle("Grid_1","Form_1"), BS_MULTILINE, NIL, .F. )
	ACTIVATE WINDOW Form_1

Return

Procedure QueryTest()
LOCAL cVar

*	This.QueryData := Str ( This.QueryRowIndex ) + ',' + Str ( This.QueryColIndex )
	This.QueryData := TRANSFORM( This.QueryRowIndex,"$ 999.99" ) + ',' + Str ( This.QueryColIndex )+HB_VALTOEXP(CRLF)+"HOLA"

		
		
Return

Procedure PonerMensaje()
LOCAL nFil,nCol		
	nFil:=Form_1.Row+This.CellRow 
	nCol:=Form_1.Col
	MSGBOX("FILA"+STR(NFIL)+"   COLUMNA"+STR(NcOL)+"  CELDA "+STR(This.CellRow))
	msgbox(form_1.Grid_1.Value)
	
RETURN
	

Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
Post Reply