Nous avons Presque terminé. La figure 1 montre l’affichage des données à ce stade. Notez que le formulaire de données a déduit le contrôle utilisateur approprié pour les types Boolean et date.
Ajouter des attributs à la classe de données
Toutefois, la clé primaire est modifiable, la propriété MoreInfo ne doit pas être visible par l’utilisateur et les postes de facture ne sont pas visibles. Un moyen de résoudre ces problèmes consiste à créer une page personnalisée, mais ce type de correctif est susceptible d’être requis par tous les types d’entités, ce qui annule la valeur des outils automatisés.
Attributs à la classe de données
Une autre approche consiste à ajouter des attributs à la classe de données. Cela fonctionne bien pour les personnalisations statiques, notamment le blocage de l’édition de clé primaire. Mais les attributs fournissent les mêmes informations statiques pour toutes les utilisations et ne sont pas profitables pour l’autorisation spécifique de l’utilisateur. La capture de l’événement AutoGeneratingField permet la personnalisation en réponse à l’environnement d’exécution, notamment l’annulation de la création de champs d’affichage. Si votre service de données est conçu pour fournir des informations du type autorisation, vous pouvez lui demander d’affiner l’affichage, dans le cas présent, de supprimer un champ :
Private Sub DataForm_AutoGeneratingField( _
ByVal sender As System.Object,
ByVal e As
DataFormAutoGeneratingFieldEventArgs)
If Not _bizService.CanReadProperty( _
e.PropertyName) Then
e.Cancel = True
Return
End If
L’interception de la génération de champs d’affichage permet d’autres personnalisations, comme les intitulés, les descriptions et les effets de style spécifiques. Vous pouvez aussi spécifier le type de contrôle à employer pour l’affichage, notamment le recours à un DataGrid pour afficher la liste des postes de facture :
If IsEnumerableNotString(e.
PropertyType) Then
Dim dg As New DataGrid()
dg.SetBinding(DataGrid.
ItemsSourceProperty, _
New Data.Binding(e.
PropertyName))
AddHandler
dg.AutoGeneratingColumn, _
AddressOf DataGrid_
AutoGeneratingColumn
e.Field.Content = dg
End If
Comme une chaîne est un élément dénombrable, la fonction IsEnumerableNotString reconnaît les propriétés IEnumerable qui ne sont pas des chaînes, afin d’isoler ce code peu élégant.
Une gestion similaire de l’événement AutoGeneratingColumn peut intercepter les colonnes DataGrid pour affiner l’affichage de la grille enfant. Le défi consiste à obtenir le service approprié pour l’enregistrement de détail, lequel est un service distinct de celui de l’enregistrement maître. Vous pouvez y parvenir avec un petit peu de réflexion, afin de récupérer le nom du type cible, suivi d’un appel à la fabrique qui a récupéré le service de l’enregistrement maître :
Dim targetTypeName = dg.ItemsSource. _
GetType.GetGenericArguments(0).Name
Dim service = _bizServiceFactory. _
GetItem(targetTypeName)
La figure 2 présente le formulaire de données après ces ajustements. Mais cela ne s’arrête pas là. Le DataForm fait partie de la prise en charge de RIA Services, et RIA Services s’appuie sur les métadon- fournies dans les attributs au niveau de la classe de données. Il est possible d’employer les attributs pour définir la validation, l’affichage, le mode lecture seule et d’autres informations :<required()><stringlength(50)><display(description:=»the br= » » customer= » »></display(description:=»the></stringlength(50)></required()>
Name:=»Name»)> _
Public Property CustomerName() As String
Un tableau étoffé d’attributs existe dans l’espace de noms System.ComponentModel. DataAnnotations.
Required, Range, StringLength et RegularExpressions prennent en charge la validation automatique. Name fournit le texte pour Label. Order définit l’ordre des champs d’affichage. Si une description est fournie, dans les attributs ou dans l’événement Auto- GeneratingField, une icône d’information apparaît. Dès que l’utilisateur passe dessus avec le pointeur de la souris, la description s’affiche.
Outre les effets de style, un certain nombre de propriétés sur le DataForm contrôlent les aspects de l’affichage, notamment l’emplacement de l’intitulé. Il est probable que la création automatique de tous les aspects de votre application ne soit pas appropriée au début, mais cela vous permet de booster votre activité de développement initiale et de mettre l’accent sur les personnalisations métier réellement profitables. Avec une stylisation appropriée, vos écrans personnalisés et automatisés apparaîtront comme un ensemble intégré procurant le meilleur des deux mondes, de sorte que vous pourrez vous concentrer sur les tâches qui requièrent réellement votre attention, tout en conservant une flexibilité maximum.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Et si les clients n’avaient plus le choix ?
- Chiffrements symétrique vs asymétrique
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Redéfinir la confiance à l’ère de l’IA agentique : les entreprises sont-elles prêtes pour le SOC autonome ?
- IA Agentique : la vraie rupture c’est la gouvernance humaine
- Les défaillances des pipelines de données pèsent lourdement sur la performance des grandes entreprises
- Les nouvelles menaces liées à l’IA obligent les entreprises à dépasser la seule stratégie de sauvegarde
Articles les + lus
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
À la une de la chaîne Tech
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
