Grid no funciona

HMG en Español

Moderator: Rathinagiri

Post Reply
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Grid no funciona

Post by arroya2 »

Hola amigos estoy cambiando una consulta tipo tabla realizada con Browse a Grid y no consigo que funcione.
Haced el favor de echarle un vistazo e indicarme en que me puedo estar equivocando:

Code: Select all

Static Function Tabla()

Local nRecno:=Recno()
Local nOldIndice:=0
Local nTotalCli:=0

Private bColor := { || If( This.CellRowIndex/2==Int(This.CellRowIndex/2), ;
						{ 234 , 244 , 255 }, { 255 , 255 , 255 } ) }	
Private fColor := { || If( This.CellRowIndex/2==Int(This.CellRowIndex/2), ;
						{ 0 , 0 , 150 }, { 0 , 0 , 0 } ) }	

If Clientes->(OrdNumber())!=1
	nOldIndice:=Clientes->(OrdNumber())		// Recojo en nOldIndice el nº de indice activo
	Clientes->(OrdSetFocus(1))					// Establezco como índice activo el uno
EndIf

nTotalCli:=Clientes->(OrdKeyCount())		// Recojo en nTotalCli el número Total de Clientes

If nOldIndice!=0
	Clientes->(OrdSetFocus(nOldIndice))		// Vuelvo a activar el antiguo índice
EndIf

Clientes->(DbGoTo(nRecno))						// Y vuelvo a ir al antiguo registro

SET BROWSESYNC ON

DEFINE WINDOW wTabla AT 0 , 0 ;
	WIDTH		1024 ;
	HEIGHT	733 ;
	TITLE		'Fichero de Clientes' ;
	ICON		'C:\RecMedWin54\Iconos\AddSymbol.ico' ;
	MODAL ;
	FONT		'Times New Roman' ;
	SIZE		15 ;
	NOSIZE ;
	ON INIT ActualizaStatusBar()

	ON KEY ESCAPE OF wTabla ACTION wTabla.Release
	ON KEY PRIOR OF wTabla ACTION ActualizaStatusBar()
	ON KEY NEXT  OF wTabla ACTION ActualizaStatusBar()
**************************************************** StatusBar ****************************************
	DEFINE STATUSBAR
		STATUSITEM ''	WIDTH 100
		CLOCK				WIDTH 70
		DATE				WIDTH 100
	END STATUSBAR

**************************************************** Grid *********************************************
	@ 0 , 0 GRID Grid_1 ;
		WIDTH					1018 ;
		HEIGHT				682 ;
		HEADERS				{	'Apellidos',				'Nombre',					'DNI', ;
									'Dirección',				'Población', 				'Provincia', ;
									'Teléfono', 				'F. Nacimiento', 			'Restricción Arm.', ;
									'Restricción Con.',		'Restricción Emb.',		'F. Aviso Con.', ;
									'F. Aviso Emb.',			'F. Aviso Arm. A',		'F. Aviso Arm. AE', ;
									'F. Aviso Arm. AEM', 	'F. Aviso Arm. B',		'F. Aviso Arm. C', ;
									'F. Aviso Arm. D', 		'F. Aviso Arm. E', 		'F. Aviso Arm. F', ;
									'F. Aviso Arm. SP' } ;
		WIDTHS				{	460 ,							270 ,							140 , ;
									480 ,							270 ,							188 , ;
									125 ,							144 ,							150 , ;
									150 ,							150 ,							130 , ;
									130 ,							150 ,							160 , ;
									175 ,							150 ,							150 , ;
									150 ,							150 ,							150 , ;
									160 } ;
		ROWSOURCE 			'Clientes' ;
		COLUMNFIELDS		{	'Clientes->APELLIDOS',	'Clientes->NOMBRE',		'Clientes->DNI', ;
									'Clientes->DOMICILIO',	'Clientes->POBLACION',	'Clientes->PROVINCIA', ;
									'Clientes->TELEFONO', 	'Clientes->FECHANAC',	'Clientes->RESTRIARM', ;
									'Clientes->RESTRICON',	'Clientes->RESTRIEMB',	'Clientes->AVICON', ;
									'Clientes->AVIEMB',		'Clientes->AVIARMA',		'Clientes->AVIARMAE', ;
									'Clientes->AVIARMAEM', 	'Clientes->AVIARMB', 	'Clientes->AVIARMC', ;
									'Clientes->AVIARMD',		'Clientes->AVIARME',		'Clientes->AVIARMF', ;
									'Clientes->AVIARMSP' } ;
		VALUE					{Clientes->(OrdKeyNo()), 1} ;
		FONTCOLOR			{0 , 0 , 255} ;
		JUSTIFY				{	GRID_JTFY_LEFT,			GRID_JTFY_LEFT,			GRID_JTFY_LEFT, ;
									GRID_JTFY_LEFT,			GRID_JTFY_LEFT,			GRID_JTFY_LEFT, ;
									GRID_JTFY_LEFT,			GRID_JTFY_CENTER,			GRID_JTFY_RIGHT, ;
									GRID_JTFY_RIGHT,			GRID_JTFY_RIGHT,			GRID_JTFY_CENTER, ;
									GRID_JTFY_CENTER,			GRID_JTFY_CENTER,			GRID_JTFY_CENTER, ;
									GRID_JTFY_CENTER,			GRID_JTFY_CENTER,			GRID_JTFY_CENTER, ;
									GRID_JTFY_CENTER,			GRID_JTFY_CENTER,			GRID_JTFY_CENTER, ;
									GRID_JTFY_CENTER } ;
		DYNAMICBACKCOLOR	{	bColor,						bColor,						bColor, ;
									bColor,						bColor,						bColor, ;
									bColor,						bColor,						bColor, ;
									bColor,						bColor,						bColor, ;
									bColor,						bColor,						bColor, ;
									bColor,						bColor,						bColor, ;
									bColor,						bColor,						bColor, ;
									bColor } ;
		ON CHANGE		ActualizaStatusBar() ;
		ON DBLCLICK		wTabla.Release
END WINDOW

CENTER WINDOW wTabla
ACTIVATE WINDOW wTabla

Return
El problema que me da es que no sale nada porque se bloquea en un buqle que nunca termina.

Muchas gracias de antemano.

Rafael Pérez
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Grid no funciona

Post by danielmaximiliano »

te falto la tabla....
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México

Re: Grid no funciona

Post by Javier Tovar »

Al parecer esta bien, pero seria mejor que subieras un demo minimo completo!

Saludos
danielmaximiliano wrote:te falto la tabla....
:shock:

Saludos
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Grid no funciona

Post by arroya2 »

Hola:
Os mando todo lo necesario y una versión resumida del programa.
Prueba09-07-2014.zip
(976.39 KiB) Downloaded 263 times
Sigue fallando

Saludos
Rafael Pérez
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Grid no funciona

Post by arroya2 »

Ya he encontrado el problema:

Code: Select all

Static Function ActualizaStatusBar()

*******wTabla.Grid_1.Refresh()
wTabla.StatusBar.Item(1):=	'Número de Cliente: '+Ltrim(Str(Tabla->NumCli))+ ;
									'   -   Elemento '+Ltrim(Str(OrdKeyNo()))+' de '+Ltrim(Str(OrdKeyCount()))

Return
wTabla.Grid_1.Refresh() provoca la inestabilidad, no entiendo por qué, pero he eliminado la línea y ya va bien

Saludos y gracias
Rafael Pérez
Post Reply