> Tech > Dossier Développement : Silverlight 3 intègre le développement d’applications orientées données (2/2)

Dossier Développement : Silverlight 3 intègre le développement d’applications orientées données (2/2)

Tech - Par Peter Vogel - Publié le 01 décembre 2010
email

Le nouveau contrôle DataForm et la prise en charge améliorée des applications orientées données permettent aux développeurs de délivrer des applications métier aux utilisateurs, dès lors qu’ils ont un navigateur Web compatible avec Silverlight.

Tandis que les versions 1 et 2 de Silverlight mettaient l’accent sur le développement d’applications Internet enrichies (RIA), les développeurs d’applications métier (LOB) se sentaient un peu délaissés.

Dossier Développement : Silverlight 3 intègre le développement d’applications orientées données (2/2)

Vous pouvez modifier le comportement du contrôle DataForm en définissant les propriétés à partir du code ou, comme je l’ai fait ici, en ajoutant par déclaration des attributs à l’élément du DataForm. Par exemple, par défaut, le DataForm présente initialement chaque objet Customer en mode affichage. Si vous définissez la propriété AutoEdit du DataForm à True, le formulaire affichera automatiquement chaque entité en mode édition lorsque l’utilisateur y accède.

D’autre part, AutoCommit a la valeur True par défaut, ce qui permet à l’utilisateur d’enregistrer les modifications juste en regardant l’entité suivante dans la collection. Si vous souhaitez que l’utilisateur clique expressément sur le bouton Save généré automatiquement pour valider les modifications, il suffit de définir la valeur False pour l’attribut AutoCommit.

Il est possible de contrôler les activités exécutables par l’utilisateur avec le DataForm. Les attributs CanUserDeleteItems et CanUserAddItems vous permettent de désactiver certaines activités CRUD gérées par le DataForm.

L’extension de ce contrôle avec ces options aboutira à une balise du type suivant :

<dataControls: DataForm ItemsSource="{Binding Customers}"
Name="MyDataForm" AutoCommit="False" AutoEdit="True"
CanUserDeleteItems="False">

Le DataForm est un contrôle à modèle, avec des DataTemplate distincts pour l’insertion, l’affichage et la mise à jour des données. Par défaut, le DataForm ajoute un contrôle à chaque modèle pour les différentes propriétés de l’entité. Le fait de définir l’attribut AutoGenerateFields à False pour le DataForm supprime ce comportement et vous permet de concevoir votre propre mise en page pour les modèles. Le contrôle DataForm déclenche également une multitude d’événements avant et après les activités critiques (par exemple pendant l’ajout d’enregistrements ou pendant la validation), et vous permet ainsi d’ajouter du code pour valider les données ou contrôler les mises à jour.

Toutefois, il vous faudra prendre certaines décisions de conception. Nombre d’éléments contrôlables en étendant le DataForm le sont également en étendant l’objet local. Dans une multitude de cas, la meilleure pratique consiste à employer les fonctionnalités de l’objet local pour contrôler les activités liées aux données et à limiter les modifications du DataForm au contrôle de workflow. Par une extension de l’objet local, vos modifications liées aux données peuvent « suivre l’objet » vers tout contrôle qui gère les mises à jour.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre nouveau dossier thématique sur l’éco-conception et les bonnes pratiques à adopter pour réduire votre impact environnemental.

Tech - Par Peter Vogel - Publié le 01 décembre 2010