En el momento de crear una nueva pantalla en LightSwitch nos aparece un asistente que nos muestra varias plantillas disponibles según el tipo de pantalla que necesitemos. Existe una plantilla para crear una pantalla que nos permite agregar nuevos datos y existe otra plantilla que nos permite editar datos ya existentes en la tabla. Pero lo primero que eche en falta desde un principio fue una plantilla para crear una pantalla que nos permitiera hacer ambas cosas, agregar nuevos datos o editar una registro existente. De esta forma cuando queramos hacer una modificación en la pantalla no es necesario realizar los cambios en dos sitios distintos.
Por el momento no existe una plantilla que nos permita crear este tipo de pantalla pero se puede hacer siguiendo una serie de pasos que se explican perfectamente en el vídeo #9 – How Do I: Create a Screen that can Both Edit and Add Records in a LightSwitch Application?. Por desgracia este vídeo todavía no ha sido traducido al español pero viendo las imágenes se puede entender mas o menos.
Os resumo los pasos a seguir para crear este tipo de pantalla:
- Agregamos una pantalla del tipo "Pantalla de nuevos datos" y le indicamos la tabla (Ejemplo: divisa) y el nombre (Ejemplo: divisaMto).
- Agregamos un elemento de datos a la pantalla para el campo clave de la tabla (Ej: Tipo String, nombre codigo_divisa) y le indicamos en las propiedades que es un parámetro y que no es obligatorio.
- Agregamos un elemento de datos tipo consulta de la entidad que devuelve un valor simple (Ej: divisa_SingleorDefault) y la renombramos por ejemplo como divisaQuery.
- Enlazamos la consulta con el elemento de datos agregado en la opción anterior.
- Agregamos el siguiente código en el método "InitializeDataWorkspace" (C#):
partial void divisaMto_InitializeDataWorkspace(List<IDataService> saveChangesTo) { if (this.codigo_divisa == null) this.divisaItemProperty = new divisaItem(); else this.divisaItemProperty = this.divisaQuery; }
Con estos pasos ya tenemos creada nuestra pantalla para editar y agregar, ahora nos falta que sea llamada correctamente desde otra pantalla por ejemplo de tipo búsqueda, para ello realizamos los siguientes cambios en dicha pantalla:
- Agregamos el botón de "Añadir" al grid de la pantalla de búsqueda poniendo el siguiente código dentro del botón (para ello elegimos la opción "Invalida código" (C#):
partial void gridAddNew_Execute() { this.Application.ShowdivisaMto(null); }
Y eso es todo, espero que os haya servido de ayuda.
No hay comentarios:
Publicar un comentario