Blog de Jorge Pedraza

septiembre 4, 2011

Maestro Detalles ADO.NET en WPF

Filed under: Aplicaciones Windows — JorgePedraza @ 10:17 am
Tags:

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:

  1. Requisitos.
  2. Conceptos Claves para este Articulo.
  3. Diagrama entidad relación de Base Datos del Ejemplo (Maestro Detalles).
  4. Esquema del Documento (Document Outline) – Aplicación Demo WPF.
  5. Arquitectura de la Aplicación WPF con Maestro Detalles ADO.NET.
  6. ItemTemplate de ListBox WPF
  7. Representación y enlaces de ItemTemplate del ListBox desde XAML.
  8. Código de Aplicación Maestro Detalles ADO.NET en WPF
  9. Código Fuente.
  10. En Resumen.
  11. Enlaces de Interés.

1. Requisitos:

  1. Microsoft Visual Studio 2010 SP 1
  2. Microsoft Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0
  3. Experiencia con Microsoft Visual Basic 2010 o C# 2010
  4. 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):

EntidadRelacionDB

4. Esquema del Documento (Document Outline) – Aplicación Demo WPF:

XAMLyDesign Document OutlineWPF
     

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:

FlujoAr

6. ItemTemplate de ListBox WPF:

ItemTemplateAndAppWPF

         

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:

ItemTemplateXAML3

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:

ADONETWPFVB

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:

Crea un blog o un sitio web gratuitos con WordPress.com.