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
Créer des agents dans Microsoft 365 Copilot
Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Chiffrements symétrique vs asymétrique
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- À l’aube de 2026, le SaaS entre dans une nouvelle phase
- Face à l’urgence écologique, l’IT doit faire sa révolution
- IoT et cybersécurité : les bases que chaque décideur doit maîtriser
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
