BUTTON First Previous Next Last

Discuss anything else that does not suite other forums.

Moderator: Rathinagiri

Post Reply
User avatar
mustafa
Posts: 690
Joined: Fri Mar 20, 2009 11:38 am
Location: Alicante - Spain
Been thanked: 78 times

BUTTON First Previous Next Last

Post by mustafa » Mon Jul 23, 2018 9:44 am

Hola amigos:
Estoy experimentando con un Grid Virtual
Partiendo de una base de datos "STOCK.DBF"
No consigo que la barra del Grid se mueva
con los Botones--> First Previous Next Last

Solamente he conseguido que uno de los botones
se desplace al último registro de la base en

*----------------------------------------------*
Function GoLast()
*----------------------------------------------*

Form_1.Grid_2.Value := { Form_1.Grid_2.Itemcount, 2 }

Return

*-----------------------------------------------*

Agradecido si alguien me puede indicar como hacer el resto
de acciones de los Botones--> First Previous Next Last

Agradecido
Mustafa

*------------------------ Google------------------------*

Hello friends
I'm experimenting with a Virtual Grid
Starting from a database "STOCK.DBF"
I can not get the Grid bar to move
with the Buttons -> First Previous Next Last

I've only got one of the buttons
move to the last record of the base in
 
*----------------------------------------------*
 Function GoLast ()
*----------------------------------------------*

  Form_1.Grid_2.Value: = {Form_1.Grid_2.Itemcount, 2}

Return
*-----------------------------------------------*

Grateful if someone can tell me how to do the rest
of actions of the Buttons -> First Previous Next Last

Grateful
Mustafa
Attachments
Pantallazo.jpg
Pantallazo.jpg (81.81 KiB) Viewed 506 times
Demo_Grid_Virtual.zip
(60.71 KiB) Downloaded 27 times

User avatar
SALINETAS24
Posts: 173
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 2 times
Been thanked: 3 times

Post by SALINETAS24 » Mon Jul 23, 2018 12:51 pm

Yeeeep, bon dia amic.
¿Como va todo por Torrevieja...?
Te paso un trozo para moverte, tu ya lo pones fino.
La función en cuestión es SetProperty, pero tienes que tener en cuenta ha hay que cargar una matriz de dos posiciones, que son las que lee "Form_1.Grid_2.Value", la primera es la fila donde estás y la segunda la columna. Yo la segunda la pongo en la primera.
Con esto vas hacia atras .., para ir hacia delante sumas jejeje.
Ah,! y que no se te olvide controlar el final y el principio del GRID.

Un abrazo.

Code: Select all

*---------------------------------------------------------*
 Function GoPrevious()
*---------------------------------------------------------*
LOCAL nPos

	msgbox(Form_1.Grid_2.Value[1])
	npos:=Form_1.Grid_2.Value[1]
	msgbox(npos)
	npos=npos-1
	msgbox(npos)
	SetProperty("Form_1","Grid_2","VALUE",{nPos,1})
	msgbox(Form_1.Grid_2.Value[1])
	Form_1.Grid_2.Refresh
	
 return


User avatar
SALINETAS24
Posts: 173
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 2 times
Been thanked: 3 times

Post by SALINETAS24 » Mon Jul 23, 2018 12:53 pm

Hola, igual esto no se entiende bien,
..... "la primera es la fila donde estás y la segunda la columna. Yo la segunda la pongo en la primera."
Quiero decir que "....YO A LA SEGUNDA LE PONGO EL VALOR 1, que es el de situarme en la primera columna."
Salud y cervezas.

KDJ
Posts: 212
Joined: Mon Sep 05, 2016 3:04 am
Location: Poland
Been thanked: 254 times

Post by KDJ » Mon Jul 23, 2018 4:12 pm

Mustafa

You can do this as follows:

Code: Select all

*---------------------------------------------------------*
 Function GoFirst()
*---------------------------------------------------------*

 Form_1.Grid_2.SetFocus
 Form_1.Grid_2.Value := { 1, Form_1.Grid_2.Value[2] }
 ArribAbajo()   

 return

*---------------------------------------------------------*
 Function GoPrevious()
*---------------------------------------------------------*
  LOCAL aValue := Form_1.Grid_2.Value

  Form_1.Grid_2.SetFocus

  IF aValue[1] > 1
    Form_1.Grid_2.Value := { aValue[1] - 1, aValue[2] }
    ArribAbajo()   
  ENDIF

 return

*---------------------------------------------------------*
 Function GoNext()
*---------------------------------------------------------*
  LOCAL aValue := Form_1.Grid_2.Value

  Form_1.Grid_2.SetFocus

  IF aValue[1] < Form_1.Grid_2.Itemcount
    Form_1.Grid_2.Value := { aValue[1] + 1, aValue[2] }
    ArribAbajo()   
  ENDIF

 return

*---------------------------------------------------------*
 Function GoLast()
*---------------------------------------------------------*

 Form_1.Grid_2.SetFocus
 Form_1.Grid_2.Value := { Form_1.Grid_2.Itemcount, Form_1.Grid_2.Value[2] }

 ArribAbajo()   


 return

User avatar
mustafa
Posts: 690
Joined: Fri Mar 20, 2009 11:38 am
Location: Alicante - Spain
Been thanked: 78 times

Post by mustafa » Thu Jul 26, 2018 10:47 am

SALINETAS24 & KDJ

Perfecto
muy agradecido
por vuestra colaboración
saludos
Mustafa

*----------------------------------------------------*
SALINETAS24 & KDJ

Perfect
very thankful
for your collaboration
regards

Mustafa

User avatar
mustafa
Posts: 690
Joined: Fri Mar 20, 2009 11:38 am
Location: Alicante - Spain
Been thanked: 78 times

Post by mustafa » Mon Aug 06, 2018 11:25 am

Hola amigos:
A veces las cosas más simples pasan desapercividas
todo lo que sirva para realzar un aplicación que
hayamos creado, nos venifia mucho la parte estética.

Les presento unos Samples que despues de tiempo
pense que tenia que incorporar en mis aplicaciones:

El total de Registros, moverme por el Browse o el Grid
con los Botones, en mi caso en el tipo de moneda que
es el Euro € la coma de los decimales.

He intentado que en cada carpeta de un modo sencillo
esten representados todos los formatos usados.
Bases MDB-Adord, SQlite , DBF y DBF->Virtual Arrays

Un saludos
Mustafa
*-----------------------------------------------------*
Hello friends:
Sometimes the simplest things go unnoticed
everything that serves to enhance an application that
we have created, the aesthetic part comes to us very much.

I present some Samples that after time
I thought I had to incorporate in my applications:

The total of Records, move by the Browse or the Grid
with the Buttons, in my case in the type of currency that
is the Euro € the comma of decimals.

I tried that in each folder in a simple way
all the used formats are represented.
Bases MDB-Adord, SQlite, DBF and DBF-> Virtual Arrays

Greetings
Mustafa
Attachments
Button_Bases_Up-Down.zip
(282.5 KiB) Downloaded 31 times
Pantallazo.jpg
Pantallazo.jpg (272.76 KiB) Viewed 271 times

Post Reply