Subir y bajar filas en una rejilla


([N3] blavan) #1

Creo recordar que en alguna Open App tenía la opción que necesito, es decir desplazar filas de una rejilla arriba , abajo

¿Sabeís cual es?

Gracias


([N1] Velasco) #2

Buenas Benito.

Yo lo tengo montado en el exportador.

Es sencillo:

En la tabla debo tener un campo orden.

Para subir
1.- Me quedo con los seleccionados de la rejilla
2.- Los meto en una cesta
3.- Me quedo con el nº de registros seleccionados
4.- Me quedo con el primero de la seleccion
5.- Si el primero tiene el campo orden a 1 salgo del proceso
6.- Si no es el primero hago una búsqueda en la misma tabla pero los que tengan un orden menor al registro seleccionado y les modifico el campo orden sumandoles al valor actual del orden el nº de registros seleccionados.
7.- Despues a los que tengo seleccionados les resto uno al valor del campo Orden
8.- Proceso todos y los ordeno por el campo Orden
9.- Proceso la cesta
10.- Recorro la lista de solo lectura
11.- Creo copia de la ficha en memoria
12.- Añado ficha a la multiseleccion
13.- Establezco foco en la rejilla.

Con estos utlimos pasos consigo que la selección siga seleccionada y así poder seguir pulsando para bajar o para subir el orden

Para bajar es igual pero donde antes sumaba ahora resto y viceversa.

Un saludo


([N3] blavan) #3

Hola Jorge, muchas gracias, no me merezco tanto, vaya foro


([N4] mdelgado) #4

Hola,

Hay otra forma, ordena la rejilla por nº de línea. Intercambia el número de línea de la seleccionada con la que desees subir o bajar, luego recalculas y listo


([N1] Velasco) #5

Buenas MIguel.

El problema que veo a lo que comentas es que quieras mover a la vez mas de una linea.

Entonces ya deberás controlar cuantas tienes seleccionadas para ir cambiando los códigos.

Un saludo.