Grid no funciona
Posted: Tue Jul 08, 2014 7:56 pm
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:
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
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
Muchas gracias de antemano.
Rafael Pérez