Hola, el presente artículo intenta resaltar de forma rápida y sencilla el desarrollo de una aplicación de datos de última generación (Aplicación Maestro Detalles) donde involucra tecnologías actuales de Microsoft .
Esta aplicación de ejemplo del tipo Windows está comprendida en tres aspectos de interés como: presentación grafica de la aplicación para el usuario (WPF Windows Presentation Foundation), Manipulación de datos (ADO.NET) y finalmente repositorio de datos (SQL Server Compact 4.0).
Con esta información se busca ofrecer una base fundamental para el desarrollo y expansión de soluciones en diferentes escenarios de forma genérica como es el caso de otros motores de base de datos y aplicaciones relacionadas con tecnologías.
Índice:
- Requisitos.
- Conceptos Claves para este Articulo.
- Diagrama entidad relación de Base Datos del Ejemplo (Maestro Detalles).
- Esquema del Documento (Document Outline) – Aplicación Demo WPF.
- Arquitectura de la Aplicación WPF con Maestro Detalles ADO.NET.
- ItemTemplate de ListBox WPF
- Representación y enlaces de ItemTemplate del ListBox desde XAML.
- Código de Aplicación Maestro Detalles ADO.NET en WPF
- Código Fuente.
- En Resumen.
- Enlaces de Interés.
1. Requisitos:
- Microsoft Visual Studio 2010 SP 1
- Microsoft Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0
- Experiencia con Microsoft Visual Basic 2010 o C# 2010
- Experiencia con ADO.NET
2. Conceptos claves para este Articulo:
- WPF: Windows Presentation Foundation (WPF) es un sistema de presentación grafica de ultima generación para construir aplicaciones clientes Windows con experiencias de usuario visualmente impresionantes.
- XAML: Es un lenguaje de marcado basado en XML, que se utiliza para implementar la apariencia de una aplicación de forma declarativa.
- SQL Server Compact 4.0 : Es una base de datos compacta ideal para incrustarse en aplicaciones de escritorio y web. Este ofrece funcionalidad de base de datos relacional en un espacio reducido: un sólido almacén de datos, un procesador de consultas de optimización y una conectividad confiable y escalable.
- DataSet : Es un caché de memoria interna de datos y representa un componente fundamental de la arquitectura de ADO.NET. Un DataSet puede contener uno o más tablas llamadas DataTable que a su ves puede ser relacionadas por uno o más objetos de relación llamados DataRelation.
3. Diagrama entidad relación de Base Datos del Ejemplo (Maestro Detalles):
4. Esquema del Documento (Document Outline) – Aplicación Demo WPF:
Descripción a nivel de XAML |
|||
Window: | Representa una Ventana de la aplicación Windows | ||
Resources: | Forma sencilla de reutilizar objetos y valores comúnmente definido. | ||
DataSet (myds) | Elemento proxy establecido para el objeto mydscode del tipo DataSet | ||
CollectionViewSource (EncDocViewSource) | Elemento proxy establecido para el objeto MasterEncDocViewSource del tipo CollectionViewSource. | ||
CollectionViewSource (EncDoc_DetDocViewSource) | Elemento proxy establecido para el objeto DetailEncDoc_DetDocViewSource del tipo CollectionViewSource. | ||
Grid: | Define un área de cuadrícula flexible que se compone de filas y columnas. | ||
ListBox (lbxEncDoc) | Caja de Lista para mostrar datos del DataTable (EncDoc) | ||
Button (btnProximoEncDoc) | Botón para invocar instrucción próximo registro dentro del MasterEncDocViewSource.View | ||
TextBox (txtNombre) | Caja de Texto para mostrar o establecer datos en el campo Nombre del DataTable (EncDoc) | ||
Button (btnNuevoEncDoc) | Botón para invocar instrucción Nuevo Registro dentro del MasterEncDocViewSource.View | ||
ListBox (lbxDetDoc) | Caja de Lista para mostrar datos del DataTable (DetDoc) | ||
Button (txtCifra) | Caja de Texto para mostrar o establecer valor numérico en el campo Cifra del DataTable (DetDoc) | ||
Button (btnNuevoDetDoc) | Botón para invocar instrucción Nuevo Registro dentro del DetailEncDoc_DetDocList.View | ||
Button (btnQuitarDetDoc) | Botón para invocar instrucción Quitar Registro actual dentro del DetailEncDoc_DetDocList.View | ||
Button (btnUpdate) | Botón para invocar rutina de actualización de datos contra el origen de datos. | ||
Button (btnQuitarEncDoc) | Botón para invocar instrucción Quitar Registro actual dentro del MasterEncDocViewSource.View | ||
Button (btnBuscar) | Botón para invocar rutina de filtro de datos | ||
Button (btnTodos) | Botón para invocar instrucción Quitar filtro de datos | ||
Button (btnOrdenar) | Botón para invocar instrucción de ordenación de datos. |
5. Arquitectura de la Aplicación WPF con Maestro Detalles ADO.NET:
6. ItemTemplate de ListBox WPF:
Descripción a nivel de XAML |
|||||
ListBox(lbxEncDoc) | Caja de Lista en WPF | ||||
ItemTemplate | Obtiene o establece el DataTemplate utilizado para mostrar cada elemento. | ||||
DataTemplate | Describe la estructura visual de un objeto de datos. | ||||
Grid | Define un área de cuadrícula flexible que se compone de filas y columnas. | ||||
ColumnDefinition | Define propiedades específicas de la columna que se aplican a elementos Grid. | ||||
ColumnDefinition | |||||
TextBlock | Proporciona un control ligero para mostrar pequeñas cantidades de contenido de flujo. | ||||
TextBlock |
7. Representación y enlaces de ItemTemplate de ListBox desde XAML:
8. Código de Aplicación Maestro Detalles ADO.NET en WPF:
A continuación se comenta algunos aspectos claves del código fuente en Visual Basic 2010 necesario para dar marcha a la aplicación planteada:
9. Código Fuente:
- DemoWpf4Adonet (Visual Basic 2010, WPF 4, ADO.NET, SQL Server Compact 4)
10. En Resumen:
La aplicación Demo Maestro Detalles ADO.NET en WPF 4 descrita en este artículo ofrece un acceso directo a determinada estrategia de desarrollo de aplicaciones de última generación relacionado con actuales tecnologías Microsoft como WPF 4, SQL Server Compact 4.0, ADO.NET, etc. Y así establecer una alternativa sólida para dar inicio y continuidad a soluciones más compleja de forma rápida y segura.
11. Enlaces de Interés:
- SQL Server Compact 4.0
- ADO.NET 3.5
- Windows Presentation Foundation (WPF 3.5)
- Windows Presentation Foundation (WPF 4.0)
- DemoWpf4EFSs08 (Visual Basic 2010, WP4, Entity Framework 4, SQL Server 2008 R2)