Documente Academic
Documente Profesional
Documente Cultură
pronto. Los clientes compran productos a través de pedidos. Cada orden tiene un
fecha, una fecha requerida y una fecha de envío; también, cada orden
qué tan abarcativas deben ser las aplicaciones comerciales para ayudar
cómo LightSwitch permite a los usuarios crear un centro de datos aplicación de forma rápida, fácil
y en muy pocos pasos. El ejemplo de la aplicación mostró cómo
construir una lista de contactos y cómo administrar dicha lista agregando, buscando y filtrando
aplicación centrada en datos con LightSwitch, pero aplicaciones empresariales del mundo real
requieren más datos, más pantallas y, sobre todo, más procesamiento de datos. A partir de esto
En este capítulo, aprenderá a crear aplicaciones complejas de línea de negocio. Aquí aprendes
cómo
para diseñar fuentes de datos complejas con relaciones y pantallas sofisticadas que proporcionan
La experiencia más completa con respecto a la interacción visual con los datos. Y escribes
codifique solo cuando sea estrictamente necesario. Luego, en el próximo capítulo, aprenderá a
aprovechar
aplicación comercial respetable: validación de datos personalizada. Además, mientras lee esto
Recuerde que el objetivo de este libro no es explicar la teoría de la base de datos ni proporcionar
información general.
explique cómo crea aplicaciones comerciales con Visual Studio LightSwitch. Así es
imposible explicar cada concepto relacionado con las aplicaciones comerciales y las bases de
datos.
estudie en otros libros o aprenda sobre ellos a través de artículos disponibles en Internet.
En este capítulo, creará una aplicación simplificada para una empresa que vende alimentos y
bebidas.
Tiene una lista de clientes que compran los productos de su empresa a través de pedidos y
también es la base para los siguientes capítulos, donde agrega tablas adicionales de diferentes
fuentes y donde aprende a personalizar tanto los datos como la interfaz de usuario con more
elaborate
diseñar nuestra fuente de datos desde cero. Ahora es el momento de diseñar tablas.
ENTIDADES Y TABLAS
Cuando utiliza el Diseñador de tablas, diseña una entidad y luego LightSwitch crea un
tabla para esa entidad. Una entidad es en realidad una instancia del objeto que contiene el
datos en tiempo de ejecución, que se asignan uno a uno a una tabla en LightSwitch. Por esta
razón, en
La tabla 4.1 resume las propiedades y sus tipos (excepto la propiedad Id de solo lectura, que se
proporciona de manera predeterminada).
País String
Ciudad String
Dirección String
Número de teléfono
Código postal
ContactTitle
ORDEN DE PROPIEDADES
FIGURA 4.2 La entidad del Cliente tal como aparece en el Diseñador de entidades.
Como era de esperar, LightSwitch también genera una tabla Clientes, que es visible en
que diseñas es Orden. Simplemente haga clic en el botón Nueva tabla en el Entity Designer, y un
Aparecerá una nueva entidad vacía. Cambie el nombre de OrderHeader y agregue las propiedades
resumidas
en la tabla 4.2.
Fecha de envío
Carga
Ship City
Tenga en cuenta que solo las dos primeras propiedades están marcadas como necesarias; esto es
porque tu
la empresa puede recibir un pedido que aún no se ha procesado. También tenga en cuenta que
para el
la primera vez, usa el tipo de datos Money, que es uno de los nuevos tipos de negocios (consulte
FIGURA 4.3 La nueva entidad de Encabezado de pedido tal como aparece en el Diseñador de
entidades.
Visual Studio LightSwitch genera correctamente una tabla de encabezados de pedido, como puede
ver en
Explorador de la solución. A continuación, debe definir una entidad denominada Detalle del
pedido. Porque un
el pedido puede referirse a múltiples productos, esta entidad almacena detalles del pedido, como
el precio unitario,
Cantidad de producto y descuento. La Tabla 4.3 describe la definición de entidad Detalle del
pedido,
tipo de propiedad
Tenga en cuenta que la entidad Detalle del pedido funciona estrictamente con el Encabezado del
pedido y el Producto
entidades (esta última se define en la siguiente subsección), pero las relaciones dentro de las
entidades son
El siguiente paso es diseñar la entidad del Producto. Nuevamente, repita los pasos descritos
anteriormente para
cree una nueva entidad y nombre este Producto. Luego agregue las propiedades resumidas en
Tabla 4.4.
Categoría
La definición de entidad tiene una peculiaridad: la propiedad Categoría de tipo Integer. Suponer
En otros entornos de desarrollo de datos, generalmente se logra esto con tablas de búsqueda.
En LightSwitch, aún puede crear tablas de búsqueda, pero si tiene un número limitado de
Una lista de opciones es básicamente una lista estática de elementos formados por dos columnas:
valor y visualización
nombre. El valor es necesario para identificar el elemento, y el nombre para mostrar es texto
descriptivo
Puede pensar en una lista de opciones como una colección de Diccionario (De entero, Cadena).
Además, puede crear listas de opciones en propiedades de tipo String que no sean Integer.
En este caso, el valor es una cadena, no un valor entero (si ingresa un número es
convertido en su representación de cadena). Esto es útil si tiene que representar columnas
que contienen valores no numéricos. Cuando elige definir una lista de opciones para una
propiedad de
tipo String, .NET Framework en realidad genera un diccionario (Of String, String).
Utilice listas de opciones cuando desee representar listas de opciones cortas y estáticas. Listas de
elección
no son factibles con cientos de opciones, por lo que si tiene más de 20 opciones (para
instancia), debe usar una tabla de búsqueda. Por supuesto, el objetivo de este libro es explicar
todas las funciones disponibles en LightSwitch, por lo que el ejemplo actual es conceptualmente
apropiado
para explicar las listas de opciones. Si tiene cientos o miles de categorías de productos,
1. En el Diseñador de entidades, seleccione la propiedad para la que desea crear una lista de
opciones
3.
La columna Nombre para mostrar enumera una serie de categorías de alimentos, cada una
asociada con el
valor numérico proporcionado Una vez que haya terminado, haga clic en Aceptar para volver al
Diseñador de entidades. Tú
Verá cómo funciona la lista de opciones dentro de la interfaz de usuario más adelante en este
capítulo. Ahora nosotros
puede terminar de construir la estructura de datos para la aplicación diseñando la última entidad
Por lo tanto, cree una nueva entidad y asígnele el nombre Factura. Luego, agregue las
propiedades
Impuestos Money
Debido a que esta es la primera vez que trabaja con el tipo de datos Money, algunas explicaciones
son requeridos. Este tipo se usa para representar monedas y se basa en Decimal .NET
escriba e incluye el símbolo de moneda y los dígitos decimales. Si selecciona cualquier elemento
de tipo
grupo, puede encontrar algunas propiedades importantes: Código de moneda, lugares decimales y
código de moneda internacional Esta información está compuesta de tres letras mayúsculas que
representan
un codigo. Por ejemplo, el valor predeterminado en USD significa que la moneda utilizada por la
aplicación
Países es en cambio EUR (euro). Si su aplicación va a ser utilizada por usuarios canadienses,
oneworld / monedas.htm.
Es importante especificar el código de moneda apropiado porque esto afecta la forma en que
Se muestra la información. Por ejemplo, el código USD le dice a LightSwitch que use $
símbolo de moneda, como en este ejemplo:
$ 1,000,000.00
En contraste, el código EUR le dice a LightSwitch que use el símbolo de moneda €, como en este
ejemplo:
€ 1.000.000,00
Por lo tanto, después de haber determinado el código de moneda apropiado, especifíquelo como
se muestra como cambiando la propiedad Modo de símbolo. Tiene las siguientes tres opciones:
. Símbolo de moneda ISO: muestra el código de moneda real, como USD o EUR.
(que es 2 por defecto). Ahora que hemos examinado el tipo de datos de Money, necesitamos
considere una cosa más: hasta ahora, ha definido cuatro entidades, cada una representando un
particular
uno con el otro porque no hay conexión entre ellos. Entonces, tienes que
Agregar relaciones
NOTA
Esta sección asume su familiaridad con los conceptos básicos en la teoría de la relación.
bases de datos, especialmente con respecto a Microsoft SQL Server. Si eres un absoluto
http://msdn.microsoft.com/en-us/library/ms130214.aspx.
Las relaciones son la forma en que define las conexiones entre conjuntos de datos para que el
sistema
Puede mantener la integridad de los datos. Por ejemplo, los clientes tienen muchos OrderHeaders.
Cuando tú
defina la relación, puede especificar que no se puede eliminar ningún Cliente en el sistema si
. Uno a muchos: este es el tipo de relación más común en los escenarios empresariales.
Tiene una instancia de una entidad (por ejemplo, Cliente), que puede tener muchas
La parte "muchos" debe estar relacionada con una entidad de la parte "uno".
. Cero o uno a muchos: esto es como uno a muchos, pero difiere en que cada entidad de
la parte "muchos" puede estar relacionada con una entidad de la parte "uno" (por ejemplo, uno
Un cliente).
. Cero o uno a uno: tiene una instancia de una entidad que puede tener una instancia
Tenga en cuenta que en esta primera versión de Visual Studio LightSwitch, uno a uno y muchos
Las relaciones no son compatibles. Solo cero o uno a muchos, uno a muchos y cero,
o relaciones uno a uno son compatibles actualmente. Eventualmente puedes lograr muchos
muchos mapas mediante el uso de una tabla de enlace. Andy Kung, del equipo LightSwitch, tiene
un
Las aplicaciones comerciales utilizan mucho las relaciones uno a muchos. Cuando hablamos del
usuario
maestro) está relacionado con muchas instancias de otra entidad que almacena los detalles de la
parte maestra. En esta sección, aprenderá cómo agregar relaciones uno a muchos y uno a uno.
Comencemos agregando la relación uno a muchos más fácil posible, que es entre
En la barra de herramientas del diseñador, haga clic en el botón Relación. En este punto, el
Agregar nuevo
entidades.
El diálogo está organizado en columnas y filas. Las columnas Desde y Hasta especifican la relación
relación. Observe que el nombre de la tabla en la columna De no se puede cambiar, mientras que
La fila permite especificar el tipo de relación, tanto en las columnas Desde como Hasta. En esto
En la fila Al eliminar comportamiento, puede especificar lo que desea que suceda cuando
"Una" entidad no se puede eliminar hasta que haya una o más instancias de la entidad en el
Parte "muchos"; en esta situación particular, esto significa que una instancia del Cliente no puede
ser
ejemplo particular, esto significa que si se elimina un Cliente, también lo son todos los
relacionados
Instancias de OrderHeader. Además, esto significa que debe tener mucho cuidado al usar el
comportamiento de eliminación en cascada. En el escenario actual, deje la configuración
predeterminada
referencia que LightSwitch usará para manejar la relación. Por lo general, quieres dejar esto
ajuste sin cambios. Ahora haga clic en Aceptar para finalizar la adición de la relación. En este
punto,
Visual Studio LightSwitch muestra la existencia de una relación entre entidades agregando
En el Diseñador de tablas también observe que LightSwitch agrega una propiedad llamada
OrderHeaders,
cargar todos los pedidos relacionados con un solo cliente y la referencia entre
propiedad definida en el cuadro de diálogo Agregar nueva relación. Como verá más adelante en
este capítulo,
Las pantallas con soporte de detalles maestros utilizan tanto la propiedad de navegación como la
recopilación de datos
para mostrar elementos relacionados con una entidad específica. Las propiedades de la colección
no se pueden modificar.
dentro del Entity Designer porque son básicamente solo una referencia. Sin embargo, si tomas
un vistazo a la definición de entidad OrderHeader, puede ver cómo LightSwitch agrega un nuevo
Propiedad del cliente de tipo Cliente, que representa al cliente único que el cliente actual
el orden está relacionado con. Ahora repita los mismos pasos para agregar una nueva relación uno
a muchos
entre la entidad del Cliente y la entidad de Factura. Al final, asegúrese de que una nueva entidad
Detrás de escena, Visual Studio LightSwitch maneja la relación y carga datos para
entidades relacionadas.
En el Diseñador de tablas también observe que LightSwitch agrega una propiedad llamada
OrderHeaders,
cargar todos los pedidos relacionados con un solo cliente y la referencia entre
propiedad definida en el cuadro de diálogo Agregar nueva relación. Como verá más adelante en
este capítulo,
Las pantallas con soporte de detalles maestros utilizan tanto la propiedad de navegación como la
recopilación de datos
para mostrar elementos relacionados con una entidad específica. Las propiedades de la colección
no se pueden modificar.
dentro del Entity Designer porque son básicamente solo una referencia. Sin embargo, si tomas
un vistazo a la definición de entidad OrderHeader, puede ver cómo LightSwitch agrega un nuevo
Propiedad del cliente de tipo Cliente, que representa al cliente único que el cliente actual
el orden está relacionado con. Ahora repita los mismos pasos para agregar una nueva relación uno
a muchos
entre la entidad del Cliente y la entidad de Factura. Al final, asegúrese de que una nueva entidad
Detrás de escena, Visual Studio LightSwitch maneja la relación y carga datos para
entidades relacionadas.
Ahora es el momento de agregar nuevas relaciones para otras entidades. Por ejemplo, abra el
Tabla OrderHeader dentro del Diseñador de tablas. Los pedidos son la forma en que otras
compañías compran nuestros
productos de la empresa, pero cada pedido de productos tiene detalles mapeados por OrderDetail
OrderDetails entidades. Vuelva a hacer clic en Relación en la barra de herramientas del Diseñador
de tablas y
Cuando hace clic en Aceptar, se agrega la nueva relación y una propiedad de Producto de tipo
El producto se agrega a la entidad Detalles del pedido, como puede ver en el Diseñador de tablas.
Otro
tipo de relación también necesita ser agregado. Por lo general, para cada pedido, su empresa
Crear una factura; sin embargo, la factura no se crea realmente hasta que el pedido esté en
proceso.
Entonces, este es el caso para una relación cero o uno a uno, entre la Factura y el
Entidad de encabezado de pedido. Abra la entidad Factura y, en el Diseñador de tablas, haga clic
en el
Botón de relación Establezca la multiplicidad Cero o Uno para la entidad Factura y el Uno
Figura 4.12.
En este caso, se agrega una propiedad de Encabezado de pedido de tipo OrderHeader a la entidad
Factura.
Después de agregar todas las relaciones requeridas, puede ser útil tener una representación visual
de cómo se ve la definición de la base de datos. Esto es fácil en LightSwitch. Por ejemplo, haga
doble clic
la tabla OrderHeaders en el Explorador de soluciones. Verás cómo el Diseñador de tablas
muestra todas las relaciones disponibles, excepto la tabla Producto (ver Figura 4.13).
Si se da cuenta de que una relación definida anteriormente necesita ser cambiada, puede hacer
clic derecho
la relación dentro del Entity Designer y luego seleccione Editar relación. Haciendo
abre el cuadro de diálogo Editar relación, que funciona como el de Agregar nueva relación.
Cambie la configuración de la relación y luego haga clic en Aceptar. Lo importante es que todas las
referencias
a los datos se actualizan para reflejar los cambios. Ahora que las relaciones de entidad definitorias
tienen
completado (y entendiendo cómo funcionan todas las plantillas de pantalla disponibles), es hora
de
Microsoft SQL Server, el motor de base de datos utilizado por Visual Studio LightSwitch,
proporciona
Soporte para las relaciones de la manera clásica: una clave primaria para un campo único en la
primera tabla
coincide con una clave externa en la segunda tabla, haciendo referencia a un campo con el mismo
nombre en
la arquitectura subyacente, pero puede ser útil si uno planea crear WCF RIA personalizado
Servicios. Visual Studio LightSwitch funciona sobre bases de datos de SQL Server, pero modela
datos
basado en ADO.NET Entity Framework, por lo que la forma en que se modelan las relaciones
nombre en dos tablas que desea relacionar. Esto se debe a que Entity Framework crea
una referencia de entidad, que en realidad es una propiedad .NET que maneja la relación entre
entidades. Bajo el capó, el tiempo de ejecución de Entity Framework genera claves primarias y
claves foráneas en la base de datos intrínseca para usted. Además, en lugar de tener un campo
con
el mismo nombre de uno en la primera tabla, en la segunda tabla genera un extraño específico
llave. En realidad, nunca ves todas estas cosas cuando trabajas con LightSwitch porque solo
especifique las relaciones que desea agregar entre entidades y el IDE hace el resto.
Una buena manera de investigar la estructura de una base de datos creada por LightSwitch, que
incluye
claves y relaciones, está utilizando SQL Server 2008 R2 Management Studio Express para generar
Un diagrama de base de datos. Para generar diagramas, la base de datos debe estar adjunta al
instancia del motor de SQL Server. Para determinar si una base de datos está conectada, inicie
SQL Server Management Studio y, cuando esté conectado, expanda el nodo Bases de datos. Si el
la base de datos no figura entre las bases de datos adjuntas, haga clic con el botón derecho en el
nodo Bases de datos y
seleccione Adjuntar. Especifique el nombre de ruta para la base de datos y espere hasta que se
adjunte al
Instancia de SQL Server. Después de adjuntar su base de datos, expanda su nombre y luego
expanda
el nodo Diagramas de base de datos. Se le debe indicar que la base de datos está actualmente
faltan algunos objetos requeridos por lo que se requiere su permiso para generarlos. Una vez
tales objetos se generan, simplemente haga clic derecho en el nodo Diagramas de base de datos y
haga clic en Nuevo
Diagrama de base de datos. En este punto, se le pide que seleccione las tablas que desea agregar a
En este diagrama, puede ver cómo se definen realmente las tablas dentro del SQL Server
base de datos que LightSwitch generó para la aplicación. Note como hay algunas diferencias
. Las relaciones se representan con líneas grises que unen dos tablas. La llave amarilla
. Cada tabla tiene una columna cuyo nombre se basa en el nombre de la propiedad de navegación
definido para cada relación dentro del cuadro de diálogo Agregar nueva relación de LightSwitch.
Como
comprueba si esta columna coincide con la columna Id de la tabla relacionada para comprender
. Los elementos de la base de datos se asignan a objetos .NET. Una entidad es una clase .NET que
representa
Un solo artículo en una mesa. Las tablas están representadas por una colección de entidades, y
. Las relaciones se manejan a través de propiedades de navegación, que no son más que .NET
En su lugar, muestra una propiedad de Cliente del tipo Cliente que representa el
instancia de la entidad del Cliente con la que está relacionado un pedido. Por otro lado, el
OrderHeader entidades.
Estas diferencias existen porque Visual Studio LightSwitch usa la entidad ADO.NET
A veces necesita realizar cálculos matemáticos y almacenar el resultado dentro de un campo. por
ejemplo, piense en las facturas. Usted tiene el monto de la factura y el monto de los impuestos, y
luego usted
tener el monto total, que es la suma del monto de la factura y los impuestos. En los negocios
aplicaciones, podría escribir algún código que realice el cálculo y almacene el resultado
dentro de la propiedad de una entidad. Por cierto, es importante solo para mostrar e imprimir
propósitos, no para el manejo de datos, por lo que sería bueno si pudieran calcularse sobre la
marcha
propiedades calculadas Una propiedad calculada es una propiedad de entidad del tipo
especificado que
necesario; esto significa que el valor de una propiedad calculada no se almacena dentro de la base
de datos;
Para comprender cómo funcionan las propiedades calculadas, considere la entidad de factura
diseñada
más temprano. Sería interesante agregar una propiedad calculada para calcular la factura
cantidad, sin la cantidad de impuestos, basada en el valor de los pedidos solicitados por el
seleccionado
haga clic en el botón Propiedad calculada, que se encuentra en la barra de herramientas del
diseñador. Esta
action agrega una nueva propiedad a la entidad, denominada Property1, de tipo String. Puedes
visualmente
reconocer las propiedades calculadas porque LightSwitch agrega el símbolo de una pequeña
calculadora
cerca del nombre de la propiedad. Reemplace Property1 con Amount y cambie el tipo de datos
de la cadena al dinero. Ahora, presionando F4, abra la ventana Propiedades para el nuevo
Figura 4.15.
FIGURA 4.15 El grupo General para propiedades calculadas ofrece el acceso directo Método de
edición.
está chequeado. Lo segundo que observa es el acceso directo Método de edición. Esto
permite escribir
Esto también significa que se encontrará con el editor de código LightSwitch por primera
vez.
De hecho, no hay otra forma de realizar cálculos matemáticos que escribir Visual Basic o
Código visual C #. Dicho esto, haga clic en el método abreviado Editar método. Al hacerlo,
se abre el editor de código.
Debido a que esta es la primera vez que ve y escribe código en LightSwitch, debe prestar atención
a algunas cosas:
. Las aplicaciones LightSwitch son aplicaciones 100% .NET organizadas en soluciones de Visual
Studio,
así que hay algunos puntos en común enumerados en los siguientes puntos con los típicos
. Cada entidad está representada por una clase .NET, en este caso, Factura.
. Cada clase se define dentro de un archivo de código. En LightSwitch, los archivos de código se
nombran exactamente
como en Visual Studio 2010 y tienen extensión .vb (si se trabaja con Visual Basic)
. Cada propiedad de la entidad está representada por una propiedad .NET, en este caso, Cantidad.
. Existen varios métodos que, detrás de escena, procesan datos cuando son particulares
los eventos ocurren Puede conectarse a la mayoría de estos métodos y escribir su propio código.
aprobada por referencia. (La Figura 4.8 muestra la palabra clave ByRef). Aunque este enfoque
puede parecer extraño, se usa en toda la infraestructura de las aplicaciones LightSwitch
que esto funciona de manera similar a un controlador de eventos para un evento llamado
Compute expuesto
por la propiedad Amount, que se genera cuando se necesita cargar la propiedad Amount. también
observe que el método toma un parámetro de tipo Decimal, aunque la propiedad de entidad es
de tipo dinero. Esto se debe a que los tipos de datos comerciales son una característica en
LightSwitch pero no en
.NET Framework. Por lo tanto, el código administrado que escribe manualmente funciona con
datos .NET
tipos que LightSwitch luego asigna a los tipos comerciales apropiados cuando sea necesario (y
El dinero es una evolución de LightSwitch del tipo Decimal .NET). Como regla general de
LightSwitch
para las propiedades calculadas, devuelve el resultado de un cálculo asignando dicho resultado
a la variable pasada por referencia como parámetro del método. Con respecto a la corriente
próximo
resultado = totalExpense
Más
resultado = 0
Terminara si
End Sub
Entonces, el código primero verifica que la instancia actual de Factura tenga una instancia válida
de
OrderHeader adjunto (Me.OrderHeader IsNot Nothing). Si esto es cierto, el código itera
cada pedido detalla y devuelve la suma de todos los precios unitarios por producto, menos el
descuento.
La suma se devuelve a la persona que llama asignando su valor a la variable de resultado, que es
manejado por el marco de LightSwitch. Todo este trabajo evita la necesidad de ingresar
manualmente
El importe de la factura. Este código también demuestra cuán simple es acceder a entidades
relacionadas,
para calcular el importe total de la factura, sumando el importe y los impuestos. Repita los pasos.
descrito anteriormente para crear una propiedad calculada y renombrar la nueva TotalAmount,
de tipo dinero. Haga clic en el hipervínculo Método de edición en la ventana Propiedades para el
nuevo
‘Establezca el resultado en el valor de campo deseado If Me.Taxes IsNot Nothing Nothing Entonces
Terminara si
End Sub
resultado de la suma a la variable resultado. Por supuesto, puede realizar cálculos más complejos,
y no está limitado a datos del tipo Money / Decimal, pero puede hacerlo contra
diferentes tipos de datos, como Fecha u otros tipos. Solo como ejemplo, puede tener un
Una vez que haya realizado las modificaciones, guarde los cambios y cierre la ventana del editor de
código.
En el Capítulo 3, creó una interfaz de usuario fácil para una fuente de datos de una sola tabla. En
esto
capítulo, está trabajando en una aplicación más compleja que tiene una estructura de datos
basada
en cuatro mesas con relaciones. Entonces, ahora necesita implementar pantallas que puedan
manejar
Múltiples tablas y relaciones. Por ejemplo, aparte de las pantallas de entrada de datos y búsqueda
pantallas, debe implementar una pantalla que muestre la lista de facturas por cliente,
plantillas para construir pantallas de datos específicas para manejar relaciones maestro-detalles,
que es lo que aprendes en esta sección. Comienza creando pantallas de entrada de datos y
busca pantallas, y luego examinamos las plantillas de pantalla que LightSwitch ofrece
Cada aplicación empresarial necesita pantallas de entrada de datos en las que los usuarios
ingresen datos nuevos. En el
ejemplo actual, la aplicación expone cuatro entidades que requieren cuatro pantallas de entrada
de datos.
Aquí no hay nada nuevo. Comencemos agregando una nueva pantalla de entrada de datos para la
entidad Cliente.
2. En el cuadro de diálogo Agregar nueva pantalla, seleccione la plantilla Nueva pantalla de datos.
3. En el cuadro combinado Datos de pantalla, seleccione la entidad Cliente y luego haga clic en
Aceptar.
Repita los mismos pasos para las entidades de Pedido, Factura y Producto para completar los
datos.
pantalla de entrada Repita los mismos pasos para las entidades de Pedido, Factura y Producto
para completar los datos.
crear un nuevo pedido en lugar de crear una pantalla de entrada de datos específica para
OrderDetails
El Capítulo 3 describe en detalle, y con figuras, cómo generar pantallas de entrada de datos.
cuando crea pantallas de entrada de datos para una entidad que mantiene una relación con
otra entidad, el cuadro de diálogo Agregar nueva pantalla le pregunta si desea agregar detalles del
relaciones master-details a través de otras plantillas de pantalla, por el bien de los ejemplos
que se muestra aquí, desmarque este tipo de casillas de verificación. Por supuesto, pruébalos por
tu cuenta
Generar pantallas de búsqueda es otra tarea que aprendió en el Capítulo 3 y que reutiliza en
La aplicación actual. Por supuesto, puede personalizar sus pantallas de búsqueda con consultas
y filtros, pero esto se describe más adelante en el libro. Por ahora, solo considere el escenario en
que desea implementar algunas pantallas de búsqueda básicas. A partir del cliente
1. En el Explorador de soluciones, haga doble clic en la entidad Cliente y luego haga clic en la
Pantalla
Repita los mismos pasos para las entidades de Producto y Factura para completar el
El equipo de LightSwitch tiene una publicación de blog que explica cómo un desarrollador debe
abordar esto
Asegúrese de que todo se vea como en la Figura 4.17, y luego ingrese algunos datos de muestra
por
Ejecutar Crear nuevo cliente, Crear nueva factura, Crear nuevo encabezado de pedidos y
Simplemente complete los formularios de datos con información ficticia: solo necesita algunos
datos para
trabajar con el resto del capítulo. Por ejemplo, la Figura 4.18 muestra un ejemplo para
Un nuevo producto.
Después de agregar algunos clientes, pedidos, facturas y productos, guarde los cambios.
y asegúrese de que todas las pantallas de búsqueda funcionen como se esperaba (es decir, como
se explicó en el Capítulo 3).
FIGURA 4.17 La aplicación en ejecución.
FIGURA 4.18 Introducción de un nuevo producto de muestra.
escenario, podría suceder que dos o más usuarios intenten guardar los cambios en el mismo
información (por ejemplo, a la misma instancia de una entidad). En este caso, hay un
conflicto que usted, como desarrollador, es responsable de resolver; concurrencia tan optimista
En particular, genera una pantalla para el usuario que explica lo que ha cambiado por
otro usuario.
y como usuario de LightSwitch que no sea escribir algunas líneas de código. Siendo una tarea más
para
Solicitud."
En este punto, la aplicación tiene todo lo que necesita para crear y mostrar elementos, pero
mucho
En las siguientes secciones, aprenderá sobre las plantillas de pantalla específicas que LightSwitch
ofrece
En las siguientes secciones, agrega al proyecto todos los tipos de pantallas disponibles.
Aunque no siempre se le recordará que lo haga, para probar las funcionalidades de la pantalla
y trabajar con datos de muestra, debe ejecutar la aplicación. Al hacerlo, también puedes
compare las cifras de este capítulo con los resultados reales que obtiene de la aplicación
corriendo en tu máquina.
realizando cambios en una pantalla de búsqueda, Visual Studio LightSwitch ofrece una alternativa
conveniente
para editar datos tabulares a través de la plantilla de pantalla Editable Grid. Básicamente, esta
pantalla
la plantilla funciona como una pantalla de búsqueda con la propiedad de controles de solo lectura
deshabilitada, por lo que
muestra una lista de elementos que se pueden editar dentro de las celdas. Además, esta plantilla
de pantalla agrega algunos
funcionalidad, como botones para agregar, editar, eliminar y actualizar datos. Comprender
cómo funciona, supongamos que desea tener una pantalla para editar una lista de la empresa
productos dentro de una cuadrícula de datos. En el Diseñador de entidades, haga clic en el botón
Pantalla. Cuando el Agregar
Cuadro combinado Datos de pantalla, seleccione Productos. La figura 4.19 muestra cómo se ve el
diálogo.
Cuando hace clic en Aceptar, dentro del Diseñador de pantalla puede ver cómo la parte crucial de
la
La nueva pantalla está hecha de un control de cuadrícula de datos y de una barra de comandos
que incluye algunos
botones: Agregar, Editar, Eliminar, que se explican por sí mismos. Aunque en este punto, la
aplicación
antes, como se muestra en la Figura 4.20, que muestra un par de productos de muestra agregados
para
fines de demostración
FIGURA 4.19 Agregar una nueva plantilla de pantalla de tipo Pantalla de cuadrícula editable.
Como puede ver, la plantilla de cuadrícula editable proporciona un cuadro de búsqueda y Exportar
a Excel
botón, exactamente como las pantallas de búsqueda. Además, los datos se muestran en una
representación tabular
y se puede editar simplemente haciendo clic dentro de las celdas. En esta pantalla, también puede
ver
primera vez cómo la interfaz de usuario asigna listas de opciones. En la columna Categoría,
selecciona el
categoría del producto al expandir el cuadro combinado dentro de la celda y luego seleccionar el
deseado
categoría. Como regla general, Visual Studio LightSwitch presenta listas de opciones mediante el
combo
el control del Editor de imágenes que utilizó en el Capítulo 3. La diferencia más importante
entre una cuadrícula editable y pantallas de búsqueda con la opción de controles de solo lectura
deshabilitada es
que en la primera plantilla, hay una serie de botones nuevos:
. Agregar, que le permite ingresar una nueva instancia de la entidad a través de un útil cuadro de
diálogo emergente
. Editar, que le permite editar una instancia existente de la entidad a través de un cuadro de
diálogo emergente
primero)
Cuando agrega o edita datos a través de los botones Agregar y Editar, la acción se realiza a través
de un
FIGURA 4.20 La nueva cuadrícula editable permite la edición en línea de cada elemento.
FIGURA 4.21 Puede agregar o editar datos mediante una simple ventana emergente
Hasta ahora, ha visto cómo agregar, editar y buscar elementos, pero aún no ha aprendido
cómo visualizar entidades que tienen relaciones con otros. Ofertas de Visual Studio LightSwitch
relaciones Cuando se habla en términos de interfaz de usuario, esto se conoce como detalles
maestros
mostrando relaciones de detalles maestros de una manera fácil. En realidad, cualquier plantilla de
pantalla permite
incluir niños, pero esta plantilla está optimizada para un diseño de Lista y Detalles. En
De hecho, dicha plantilla se denomina Lista y pantalla de detalles, y le permite mostrar sofisticados
relaciones En esta sección, verá esta plantilla desde dos perspectivas: primero,
agrega una pantalla para mostrar una lista de facturas y detalles para cada factura. Segundo,
agregas
una pantalla para mostrar una lista de clientes, además de los pedidos y los detalles de cada
cliente.
En el Explorador de soluciones, haga clic con el botón derecho en el nodo Pantallas y seleccione
Agregar pantalla. Cuando el Agregar
Aparece el cuadro de diálogo Nueva pantalla, seleccione la plantilla Pantalla de lista y detalles, y
como datos
fuente, seleccione la colección Facturas, asegurándose de que la casilla Detalles de factura esté
comprobado; luego haga clic en Aceptar. En este punto, el Diseñador de pantalla muestra un
diseño más complejo,
Las siguientes son algunas consideraciones importantes relacionadas con la nueva generación de
pantallas:
. La primera columna (Columna de lista) muestra un resumen de los artículos disponibles (facturas,
en este ejemplo) a través de un control de Lista.
. La segunda columna muestra los detalles del elemento seleccionado en la lista mediante
controles
Detalles de la factura. Vale la pena mencionar que el trabajo de enlace de datos para vincular el
LightSwitch realiza la factura seleccionada para sus detalles. Tambien usted puede
controles de tipo Auto Complete Box y Modal Window Picker que son responsables
La figura 4.22 muestra que la propiedad calculada TotalAmount (que es de tipo Money) es
se muestra a través de un visor de dinero, porque es un objeto de solo lectura. Como regla
general,
LightSwitch muestra propiedades calculadas con controles de solo lectura que son apropiados
para un tipo de datos particular, como Image Viewer para imágenes, Email Address Viewer para
direcciones de correo electrónico y Money Viewer por dinero. Cuando la propiedad calculada es
una fecha
ARREGLO DE ARTÍCULOS
Use el cuadro desplegable Ordenar por de la lista para cambiar la propiedad de las entidades
organizado por. Esta es una característica específica del usuario disponible en el nivel de pantalla,
pero si usted como
facturas. Esta parte de la interfaz de usuario permite exportar la lista a Excel; buscando y
los nuevos elementos se realizan a través de una ventana emergente que es similar a la que se
muestra en la Figura 4.22
pero eso obviamente proporciona campos de entrada de datos específicos para la entidad actual
(Factura). Después
cambios a la base de datos. Al igual que con las facturas, es posible que desee tener una vista de
Lista / Detalles para
su lista de clientes, que es un escenario común en las aplicaciones comerciales. Si lo haces, repite
Los pasos descritos al principio de esta sección para crear una nueva pantalla de Lista y Detalles
para la entidad Cliente, asegurándose de que solo la casilla de verificación Detalles del cliente esté
marcada
el cuadro de diálogo Agregar nueva pantalla. Como puede ver en la Figura 4.24, la nueva pantalla
está organizada
de manera habitual, en dos columnas, donde la primera columna almacena la lista de clientes y el
La segunda columna muestra los detalles del cliente seleccionado en la lista. De nuevo, puedes ver
cómo
la pantalla usa controles de edición (como TextBox, Editor de direcciones de correo electrónico y
Número de teléfono
Editor), lo que significa que puede editar los detalles del cliente directamente desde el formulario
de detalles.
FIGURA 4.24 El Diseñador de pantalla muestra la estructura de la nueva pantalla Detalles de la lista
de clientes.
nuevamente agregue, edite o elimine clientes de la lista o edite detalles para el cliente actual.
desea que la aplicación muestre la lista de pedidos y, para cada pedido, los detalles del pedido y
Productos pedidos. LightSwitch lo hace fácil. En el Explorador de soluciones, haga clic con el botón
derecho en Pantallas
3. Asegúrese de que tanto los detalles de OrderHeader como los detalles de OrderHeader
OrderDetails
La figura 4.26 muestra cómo la nueva pantalla parece bastante compleja en el Diseñador de
pantalla.
. La columna izquierda, que contiene la lista de pedidos y puede mostrar una ventana emergente
ventana para agregar / editar pedidos directamente desde la lista haciendo clic en el botón con
Un símbolo de lápiz.
. La columna de la derecha, que muestra los detalles del pedido en la parte superior (incluida la
información
de la entidad del Cliente relacionada) y una Cuadrícula de datos en la parte inferior que contiene
la lista de detalles del pedido relacionados con el pedido actual. Cada fila de cuadrícula de datos
está hecha de
Cuando la aplicación se está ejecutando, una pantalla tan nueva le permite mostrar la lista de
pedidos y también editar detalles de pedidos y mostrar / editar la lista de productos que están
asociados
con el pedido actual La Figura 4.27 muestra cómo se ve esta pantalla en acción.
Este tipo de pantalla ofrece al usuario una vista completa de los elementos y sus detalles y
hace que la experiencia del usuario sea realmente sencilla. Puede buscar, filtrar, agregar y editar
datos
y detalles relacionados dentro de una pantalla. También puede exportar a Microsoft Excel tanto el
EXPORTANDO A EXCEL
Tenga en cuenta que cuando exporta listas desde la misma pantalla a Excel, lo que realmente
obtiene
son dos instancias de Excel con dos libros de trabajo diferentes. Esta información puede ser útil.
FIGURA 4.27 La nueva pantalla Detalles de la lista de encabezados de pedidos le permite trabajar
tanto con el pedido
y productos.
Vale la pena mencionar que con respecto a la colección de entidades OrderDetail, puede
cuadro disponible en el campo Producto, que muestra la lista de productos disponibles, como se
muestra en
Figura 4.28.
FIGURA 4.28 La selección de una lista de productos es fácil.
Esta es una manera conveniente de seleccionar productos con un simple clic y sin ningún otro
esfuerzo para
usuario, y es importante enfatizar que esto es ofrecido por LightSwitch sin usuarios
tener que escribir una sola línea de código. También puede alcanzar otro nivel de complejidad.
Tomar
un vistazo a la figura 4.27. Puede ver cómo la pantalla muestra la lista de detalles de pedidos que
están
asociado con un orden particular. Pero, ¿cómo mostrarías dos listas de entidades que son
asociado con un maestro? Por ejemplo, suponga que desea mostrar la lista de
clientes, y luego desea ver los detalles del cliente más pedidos y facturas para cada
cliente. La plantilla Pantalla de lista y detalles le permite mostrar más de una asociada
En el Explorador de soluciones, haga clic con el botón derecho en Pantallas y luego en Agregar
nueva pantalla. En el Agregar nuevo
Recolección de clientes, y luego asegurarse de que tanto Customer OrderHeaders como Customer
Las casillas de verificación de facturas están marcadas. Finalmente, reemplace Nombre de pantalla
con
estos pasos
definición de la pantalla, pero difiere en que en la parte inferior, dos colecciones de elementos
relacionados
están disponibles y organizados dentro de un diseño de pestañas. La figura 4.30 muestra lo que el
diseñador
El panel Pestañas se denomina Pestañas de colección secundaria. Este nombre implica que dicho
panel
incluye una colección de colecciones relacionadas, como puedes entender al expandir las pestañas
La definición del panel, que muestra dos controles de Cuadrícula de datos, uno denominado
Pedidos y otro denominado
Facturas (cuyo papel en la pantalla se explica por sí mismo). Cuando ejecutas esta pantalla,
obtienes
la lista de clientes en el lado izquierdo, y en el lado derecho, verá los detalles del cliente en
arriba y las colecciones de pedidos y facturas en la parte inferior, organizadas en pestañas. Sólo
cambiar entre pestañas para ver los elementos deseados. La figura 4.31 muestra cómo se ve la
pantalla.
FIGURA 4.31 Una pantalla compleja de Lista y Detalles que muestra múltiples colecciones de
detalles.
. Mostrar, buscar, filtrar, agregar y editar elementos de tipo Orden asociados con el
. Mostrar, buscar, filtrar, agregar y editar elementos de tipo Factura asociados con
Las pantallas de Lista y Detalles proporcionan una forma flexible y poderosa de mostrar y editar
múltiples
fuentes de datos procedentes de relaciones maestro-detalles. Puede dar a los usuarios un lugar
donde
pueden manipular múltiples datos, proporcionándoles una vista completa de los elementos que
son
trabajando en. Si no desea ofrecer este tipo de representación compleja, tenga en cuenta
funcionalidad
en las siguientes secciones, puede usar pantallas de detalles cuando sea necesario, y puede
reorganizar
Las pantallas Lista y Detalles ofrecen la forma más rápida de mostrar los detalles de la entidad a
partir de una lista de elementos,
Pero este no es el único camino. Por ejemplo, es posible que desee crear una pantalla que muestre
solo la lista de entidades y luego recoge los detalles solo cuando el usuario hace clic en un botón.
Esta
podría ser útil para proporcionar una visualización de datos simplificada y más limpia. Estudio
visual
LightSwitch ofrece una plantilla de pantalla llamada Pantalla de detalles que agrupa los detalles de
la entidad pero
Control de navegación. En cambio, este tipo de pantalla está disponible bajo demanda (en otros
palabras, cuando una entidad necesita ser editada). Por ejemplo, considere SearchCustomer
clientes y proporciona un botón Editar (el que tiene el símbolo del lápiz) para rápidamente
Acceso a los detalles del cliente. De forma predeterminada, esta acción muestra una ventana
emergente donde puede proporcionar
Detalles del cliente. Por ejemplo, suponga que no desea mostrar una ventana emergente y que
en su lugar, desea mostrar los detalles del cliente en una nueva pestaña. Puedes anular este
comportamiento
Mostrar una de las propiedades del cliente como un enlace, utilizando Mostrar como enlace
En esta sección, aprenderá las dos primeras formas (la tercera no implica personalizaciones
en código), pero la explicación comienza con la adición de un nuevo botón. Esto se hace para
familiarizarse
para anular el código predeterminado, debe aprender conceptos sobre la ejecución del botón
métodos Entonces, el primer paso es agregar una nueva pantalla de detalles al proyecto. Para
hacerlo, haga clic derecho
Cuando aparezca el cuadro de diálogo Agregar nueva pantalla, seleccione la plantilla Pantalla de
detalles, asegurándose
ese Cliente es la fuente de datos actual y que tanto la Pantalla de detalles predeterminada es
las casillas de verificación Detalles del cliente están marcadas (consulte la Figura 4.32).
FIGURA 4.32 Creación de una nueva pantalla de detalles para la entidad Cliente.
nueva pantalla como la pantalla de detalles predeterminada en cada pantalla que usa una vista de
detalles para
enlaces para navegar por los detalles de la entidad, pero el objetivo aquí es explicar un
comportamiento personalizado.
Ahora abra el Diseñador de pantalla para la pantalla Buscar clientes para que pueda agregar un
1. Expanda el elemento Barra de comandos, que está anidado en el control Cuadrícula de datos.
2. Haga clic en Agregar y luego en Nuevo botón en la lista desplegable. Se le pide que
especificar un método que realiza una acción cuando se hace clic en el nuevo botón (ver Figura
4.33). Entonces, en el cuadro de diálogo Agregar botón, seleccione Nuevo método y luego
especifique
pantalla, por lo que debe escribir algo de código. Haga clic derecho en el botón y seleccione Editar
Ejecutar
método para que pueda implementar la acción que debe ejecutarse cuando se presiona el botón
hizo clic El modelo de objetos LightSwitch ofrece una clase llamada Aplicación que, entre otras
características, expone procedimientos para iniciar pantallas rápidamente. El nombre de cada uno
de estos
los procedimientos comienzan con Mostrar, seguidos del nombre de la pantalla. Porque quieres
Yo. Aplicación.
ShowCustomerDetail (Me.Clientes.
SelectedItem.Id)
End Sub
elemento seleccionado en la lista y que es del mismo tipo de la entidad. Por lo tanto, la
La colección Clientes tiene una propiedad SelectedItem, del tipo Cliente. Porque el objetivo
También otro evento para manejar, que es CanExecute. Como su nombre lo indica, este evento
notifica
Condición booleana que permite ejecutar la acción del botón cuando se evalúa la condición
como cierto En este caso, una buena idea es permitir la ejecución del botón solo cuando un
End Sub
Detrás de escena, LightSwitch genera aplicaciones comerciales que dependen del Modelo.
Patrón View-ViewModel (MVVM). Esto se discute más adelante en el Capítulo 12, “Disección de un
Los métodos Execute y CanExecute son familiares. Está más allá del alcance de este libro discutir
el patrón MVVM, pero puede pensar en los dos métodos de esta manera: CanExecute
un valor booleano que devuelve True si se puede ejecutar el comando. Ejecutar representa
Se invoca un control.
La segunda forma de cambiar cómo se inicia una pantalla de detalles es anular el código de
botón de edición incorporado. Cierre la aplicación si aún se está ejecutando y luego en Visual
Studio
LightSwitch, abra el Diseñador de pantalla para la pantalla Buscar cliente. Haga clic derecho en
Editar
botón y seleccione Código de anulación. En este punto, se abre el editor de código, mostrando
botón. El siguiente código muestra cómo mostrar la pantalla Detalles del cliente en un
pestaña diferente, además de mostrar un cuadro de mensaje antes de que se inicie la pantalla:
Me.Application.ShowCustomerDetail (Me.Customers.SelectedItem.Id)
End Sub
EndSub
Por supuesto, puede anular el código de todos los botones integrados, no solo Editar,
aunque
Las pantallas de detalles representan solo una de las personalizaciones de las aplicaciones
que ofrece LightSwitch.
Hasta ahora, ha agregado muchas pantallas a la aplicación de muestra actual. Todos ellos
permite a los usuarios navegar entre pantallas y que aparece en el lado izquierdo de la
pantalla principal
es posible que desee agrupar pantallas del mismo tipo en un grupo, o simplemente
organizar la pantalla
navegación según el tipo de datos con el que desea trabajar. Por ejemplo, podrías
desea agrupar todas las pantallas relacionadas con clientes en un grupo, todas las
pantallas relacionadas con pedidos en
otro grupo, y así sucesivamente. Visual Studio LightSwitch le permite organizar la pantalla
Control de navegación agregando grupos de tareas y asociando pantallas con los nuevos
grupos.
Roles y Usuarios). Es por eso que dicho grupo se discute en el Capítulo 9, "Implementación
Si enfoca su atención en el grupo Tareas, puede ver cómo agrupa todas las pantallas
El grupo de tareas es un contenedor de uso general que facilita la navegación entre pantallas.
En una aplicación empresarial del mundo real, los usuarios deberían obtener un control de
navegación más organizado.
pantalla de inicio. Suponga que desea reorganizar la navegación de la pantalla agrupando pantallas
1. En el menú de navegación, haga clic con el botón derecho en Tareas y luego haga clic en
Cambiar nombre en la ventana emergente
menú. En este punto, el nombre del panel se vuelve editable, como puede ver en
2. Usando la Figura 4.35 como referencia, haga clic en el botón Agregar grupo, disponible en el
parte inferior del árbol Luego puede agregar un nuevo grupo. Puede asignar inmediatamente un
nombre del grupo, así que llámalo Ordenar encabezados. Como puede ver en la Figura 4.37, el
3. Haga clic en el botón Incluir pantalla y seleccione la pantalla Crear nuevo encabezado de pedido
para
que se agrega al nuevo grupo. Tenga en cuenta que agregar una pantalla a un grupo no
eliminar la pantalla en sí de otro grupo. En este caso particular, puedes ver en
Figura 4.38 que la pantalla Crear nuevo encabezado de pedido está disponible tanto en
Clientes y grupos de encabezados de pedidos. Esto tiene sentido porque es posible que desee
desea agrupar pantallas de acuerdo con un solo criterio, simplemente haga clic derecho en la
pantalla
en el grupo deseado y luego haga clic en Eliminar en el menú emergente (o simplemente presione
el
Eliminar clave).
En este ejemplo en particular, haga clic con el botón derecho en la pantalla Crear nuevo
encabezado de pedido en
FIGURA 4.38 La pantalla Crear nuevo encabezado de pedido es realmente visible en dos grupos.
4. Agregue al grupo Encabezados de pedidos todas las pantallas relacionadas con la entidad
OrderHeader,
5. Repita los pasos anteriores para crear el grupo Facturas y productos y agregar
pantallas a los grupos apropiados. La figura 4.39 muestra qué es el menú de navegación
Puede usar las flechas hacia arriba y hacia abajo ubicadas a la derecha del diseñador para
cambiar
ser la pantalla de inicio en la estructura del menú de navegación y luego hacer clic en el
botón Establecer
en la parte inferior del diseñador (ver Figura 4.35). Puedes restaurar el estado
predeterminado
Si ahora ejecuta la aplicación, puede ver cómo se organiza mejor el menú principal:
interfaz.
Está casi completo. El último paso es personalizar las pantallas examinando los contenedores de
control.
Personalizando la apariencia de las pantallas
Le han dicho que los controles dentro de una pantalla están organizados dentro de otros controles
que actúan
como contenedores que organizan controles en la interfaz de usuario, pero hasta ahora solo has
visto
Puedes personalizar el diseño de la pantalla. La tabla 4.6 resume los controles de diseño
disponibles.
Modal
Ventana
Permite agregar, editar o mostrar dentro de una ventana modal externa, que se ve
Columnas
Diseño
Imagen y
Texto
Organiza los datos en dos columnas: la columna izquierda muestra una imagen; el del
derecha muestra un título, un subtítulo y una descripción. Específico para trabajar con imágenes.
Texto y
Imagen
el contenedor Diseño de columnas con Diseño de filas y vuelva a ejecutar la aplicación. Como tu
puede ver en la Figura 4.41, el diseño de la pantalla ha cambiado, y ahora la colección Clientes
Hay disponibles otras personalizaciones interesantes, y LightSwitch también ofrece otra simple
forma de personalizar el diseño de la pantalla en tiempo real. Esta característica se llama Modo de
personalización
Modo de personalización
Afortunadamente, LightSwitch ofrece una forma más conveniente de editar la apariencia del
interfaz de usuario en tiempo real, lo que significa que esto se puede hacer mientras la aplicación
aún está
pasos. Esta característica se conoce como Modo de personalización y se puede habilitar fácilmente
haciendo clic en el botón Pantalla de diseño que puede ver en la esquina superior derecha de la
Para comprender cómo funciona, considere la pantalla Detalles de la lista de pedidos del cliente.
Suponer
desea reorganizar la posición de los contenedores y controles de una manera diferente, para ver
Haga clic en la pantalla de diseño; en este punto, la pantalla principal de la aplicación cambia a
la interfaz de usuario (en el lado izquierdo de la pantalla) y una vista previa de lo que la interfaz de
usuario
se parece a (para reflejar los cambios en tiempo real). Tenga en cuenta que esta vista previa es
interactiva, por lo que
puedes probarlo usando los controles como lo harías en la pantalla normal. Adicionalmente,
puede cambiar las propiedades de control utilizando el cuadro Propiedades en la parte inferior de
la pantalla.
FIGURA 4.43 En el Modo de personalización, puede realizar ediciones en tiempo real en la interfaz
de usuario.
Observe también que en el lado izquierdo de la pantalla, una barra de herramientas ofrece
accesos directos a comunes
tareas, como agregar nuevos botones y nuevos grupos de elementos y mover elementos hacia
arriba y
abajo. Cada acceso directo se habilita según el elemento que seleccione en la interfaz de usuario
árbol. Por ejemplo, suponga que desea probar una apariencia diferente para la interfaz de usuario
de
1. Reemplace el contenedor de nivel raíz actual, Diseño de columnas, con Diseño de pestañas.
Ahora puede ver cómo se muestran los cambios en el diseño de la pantalla en la vista previa de la
pantalla. Puedes ver
exactamente cómo se verá la pantalla en la aplicación en ejecución. Además, puedes probar
el comportamiento de la pantalla haciendo clic en los diversos controles, que son completamente
interactivos. Figura 4.44
muestra cómo aparece el Modo de personalización después de las ediciones anteriores, y la Figura
4.45 muestra
que el control de vista previa en el Modo de personalización reproduce la pantalla real aplicando
un objeto ScaleTransform. Es por eso que el control no es solo una vista previa simple sino un
FIGURA 4.44 Los cambios en la interfaz de usuario se muestran en la vista previa y pueden
probarse activamente.
FIGURA 4.45 Cambiar el diseño de la pantalla utilizando los grupos Diseño de pestañas y Diseño de
filas.
Con especial atención al cuadro Propiedades, puede usarlo para realizar las siguientes ediciones:
. Cambiar el nombre para mostrar de los contenedores y los controles (propiedad Nombre para
mostrar)
. Establecer una descripción para los contenedores y los controles (propiedad Descripción)
. Establezca controles de tipo Lista y Cuadrícula de datos para usar controles de solo lectura
. Evite que los controles de tipo Lista y Cuadrícula de datos ofrezcan el botón Exportar a Excel
posición en la pantalla.
Cuando esté satisfecho con sus ediciones, haga clic en Guardar para guardar esos cambios en el
actual
composición.
Solo para probar otro escenario, restaure el contenedor raíz al diseño de columnas. Luego ubica
Lo que hace la ventana modal es agregar un botón en la pantalla, y una vez que este botón está
Al hacer clic, aparece una ventana modal que muestra las colecciones secundarias, como se
muestra en la Figura 4.46.
Como se enumera en la Tabla 4.6, también están los grupos Imagen y Texto y Texto e Imagen. Tú
úselas con entidades que cumplan estrictamente con los requisitos del grupo (imagen, título,
subtítulo,
y descripción) y así organizar las propiedades de la entidad de una manera interesante. Lo único
La diferencia entre ellos es que en el primer grupo, se coloca una imagen a la izquierda, mientras
que
La entidad del producto es un buen candidato para esto. El siguiente ejemplo muestra cómo
organizar las propiedades de la entidad dentro de un diseño de imagen y texto en la pantalla
Buscar productos.
2. Localice el elemento llamado Cuadrícula de datos, Productos y haga clic en el menú desplegable.
Entonces
reemplazar la cuadrícula de datos con la lista. En este punto, el control Resumen está disponible
en
Elemento de lista
3. Haga clic en el menú desplegable cerca de Resumen y seleccione Imagen y texto, como se
muestra en
Figura 4.47.
4. Asigne cada elemento del nuevo diseño a las propiedades de entidad apropiadas (consulte
Figura 4.48). Excepto por la imagen, que debe asignarse a una propiedad de entidad de
escriba Image, puede asignar las otras propiedades de la manera que desee. En la corriente
ejemplo, podría especificar el nombre del producto como el Título, las unidades en stock como el
La vista previa muestra el nuevo aspecto de esta pantalla. Este diseño particular utiliza
propiedades de resumen,
para que la propiedad de resumen predeterminada se pueda usar para acceder a los detalles del
elemento. Figura 4.49
Configuración de depuración o lanzamiento para compilar aplicaciones (en contraste con lo que
hace con
Visual Studio LightSwitch). Recuerde que el modo de personalización es una depuración al 100%
función, por lo que estará disponible en sus pantallas solo si se inicia una aplicación en
A veces, es posible que desee mostrar mensajes de texto simples en sus pantallas, como
consejos, avisos, advertencias, información general o mensajes de bienvenida. Por defecto, cada
El control Label o TextBox en una pantalla está vinculado a datos, por lo que no puede usar
directamente
controles para mostrar texto. Sin embargo, puede agregar una propiedad local a su pantalla,
agregue la propiedad
Las propiedades locales se analizan más adelante en este libro; por ahora, concéntrate en cómo
los usas para
Muestra algo de texto. Siga estos pasos para agregar un mensaje de texto:
1. Abra una pantalla en el Diseñador de pantalla y haga clic en Agregar elemento de datos.
2. En el cuadro de diálogo Agregar elemento de datos, seleccione Propiedad local y deje sin
modificar el
4. En el campo Nombre, especifique un nombre para la nueva propiedad local (por ejemplo,
SampleMessage) y luego haga clic en Aceptar. En este punto, la nueva propiedad estará disponible
Control TextBox para propiedades locales de tipo String. Puedes reemplazarlo con una etiqueta
De esta forma, la propiedad local recién agregada se convierte en parte de los datos de la pantalla
y puede
poblar su valor mediante programación. Para hacerlo, debe escribir un par de líneas de código.
Puede asignar fácilmente un valor a la propiedad local escribiendo el enlace Método creado
para la pantalla Para escribir este método, expanda la lista desplegable Escribir código en la
pantalla
Diseñador y luego seleccione el método ScreenName_Created, donde ScreenName es el nombre
de tu pantalla. Por ejemplo, el siguiente código muestra cómo llenar la propiedad de muestra
en la pantalla CreateNewCustomer:
End Sub
Como puede ver, con una simple línea de código puede asignar el mensaje de texto al local
seleccione Fuerte, su mensaje se mostrará en negrita. Simplemente vuelva a Normal para mostrar
Su mensaje en el estilo normal. También puede ocultar o cambiar la posición del local
mencionar que cambiar el estilo y la posición de la etiqueta de las propiedades del texto no se
limita a
propiedades locales que agregue manualmente, pero se pueden aplicar a cualquier etiqueta
vinculada a datos o cuadro de texto
en la pantalla.
Los conceptos cubiertos en el Capítulo 3 siguen siendo importantes para otro tema fundamental:
los datos
validación. Todas las entidades de datos y pantallas descritas en este capítulo aún aprovechan
de las reglas de validación incorporadas que LightSwitch implementa para usted. En cuanto a la
aplicación actual
Por ejemplo, las pantallas aprovechan las reglas de validación incorporadas para las direcciones de
correo electrónico,
cadenas y números de teléfono. Sería útil proporcionar algún tipo de validación para
otros tipos de datos, como Fecha y Dinero. Por ejemplo, es una buena idea asegurarse de que
el usuario no ingresa una fecha de factura que no se encuentre dentro de un intervalo de tiempo
especificado y
que el usuario no ingresa valores negativos para una factura. Porque la validación se realiza en
ventana, ubique el grupo de Validación y luego reemplace el contenido del Valor mínimo con
1/1/2010. Al hacerlo, evita que el usuario ingrese facturas con fechas anteriores a
1/1/2010. Repita este paso para la propiedad InvoiceDueDate. A continuación, pasar a los
impuestos
propiedad de tipo dinero. Por defecto, esto acepta números negativos, lo que no es bueno.
Entonces,
reemplace el contenido del valor mínimo con 0. La figura 4.50 muestra errores de validación para
Pantalla Crear nueva factura si intenta ingresar una fecha no válida y una cantidad negativa.
Del mismo modo, puede personalizar las propiedades OrderDate, RequiredDate y ShippedDate
de tipo Fecha en la definición de entidad de Pedido y la propiedad de Carga de tipo Dinero por
siguiendo las mismas reglas descritas aquí. Con respecto a la entidad del Producto, asegúrese de
que el
la entidad no necesita una regla de validación adicional porque las reglas integradas para los tipos
de datos
son suficientes Por supuesto, una buena infraestructura de validación debe cuidar
escenarios adicionales. Por ejemplo, la definición de entidad de pedido debe garantizar que el
ShippedDate no es anterior a OrderDate. Dicha validación está más allá del alcance de la función
incorporada.
reglas de validación y es algo que debe definirse manualmente. Para más información
Nuevo diálogo de relación. En particular, viste cómo este diálogo proporciona información
instancia de la entidad Cliente (que tiene pedidos activos), la operación de eliminación se rechaza.
Si intenta realizar esta acción mientras se ejecuta la aplicación de muestra, obtendrá una
validación
error al decir que el cliente seleccionado no se puede eliminar porque los registros relacionados
aún
Este problema de validación se genera solo cuando el usuario intenta guardar los cambios. (De
hecho, esto es
una validación del lado del servidor, que se explica en el siguiente capítulo.) Si no le gusta esto
diálogo. Pero ten cuidado; esta regla no solo eliminará el elemento seleccionado sino también
todos los
entidades relacionadas (continuando con el ejemplo del cliente, el cliente y todos los pedidos
relacionados
son eliminados)
Resumen
Las aplicaciones empresariales del mundo real con fuentes de datos complejas requieren una
composición bien compuesta y
formularios de datos detallados. Visual Studio LightSwitch le permite crear entidades complejas y
le permite diseñar datos relacionales agregando relaciones a las entidades. Para proporcionar el
usuario final con la mejor experiencia de usuario posible, LightSwitch ofrece una serie de
funciones integradas
plantillas de pantalla que lo ayudan a diseñar relaciones maestro-detalles; puede permitir a los
usuarios
ingresar, buscar, filtrar y editar datos relacionados (a través de, por ejemplo, cuadrículas editables
y Lista y
Pantallas de detalles). Debido a que la interfaz de usuario consta de varias pantallas, LightSwitch
permite
en lugar de simplemente crear una interfaz de usuario más legible configurando nombres para
mostrar. Usted puede
también aproveche las funciones integradas de validación de datos que puede extender a todos
los tipos de datos que
utilizar. A partir del próximo capítulo, usará muchas características interesantes en Visual Studio