Mise en forme du résultat du champ
Mise en forme du résultat du champ
Ce guide montre comment contrôler la mise en forme numérique, date/heure et générale appliquée au résultat calculé d’un champ dans Aspose.Words FOSS pour .NET, en utilisant la classe FieldFormat, l’énumération GeneralFormat et GeneralFormatCollection. Chaque instance Field expose ces commutateurs de mise en forme via sa propriété Format; cette page constitue une plongée approfondie sur ce que cette propriété offre.
Accéder à la mise en forme d’un champ
Chaque Field — ainsi que ses sous-classes typées telles que FieldDate, FieldCreateDate et FieldSymbol — expose une propriété Format de type FieldFormat, utilisée pour un accès typé à la mise en forme numérique, date et heure, et générale du champ. Consultez Field.Format pour inspecter ou modifier les commutateurs attachés au code d’un champ sans éditer manuellement le texte brut du code du champ.
Images des formats numériques et date/heure
FieldFormat.NumericFormat est une propriété string modifiable contenant la mise en forme appliquée au résultat d’un champ numérique. FieldFormat.DateTimeFormat est une propriété string modifiable contenant la mise en forme appliquée au résultat d’un champ date et heure. Définissez l’une ou l’autre de ces propriétés pour modifier la façon dont le type de champ correspondant rend sa valeur calculée.
Formats généraux
FieldFormat.GeneralFormats renvoie un GeneralFormatCollection — formats polyvalents appliqués à un résultat numérique, texte ou tout autre champ. Ses membres sont tirés de l’énumération GeneralFormat, qui couvre les transformations de casse (Upper, Lower, FirstCap, Caps), la numérotation romaine et ordinales (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), les monnaies et le texte cardinal (DollarText, BahtText, CardText), les systèmes de numérotation spécifiques à la locale (Aiueo, Arabic, ArabicAbjad, ArabicAlpha, ArabicDash, ChineseNum1–ChineseNum3, KanjiNum1–KanjiNum3, Hebrew1, Hebrew2, Ganada, Chosung, Zodiac1–Zodiac3, ThaiArabic, ThaiCardText, ThaiLetter, HindiArabic, HindiCardText, HindiLetter1, HindiLetter2, VietCardText, DBNum1–DBNum4, DBChar, SBChar, GB1–GB4, Hex, CircleNum, UppercaseAlphabetic, LowercaseAlphabetic), et les valeurs spécifiques aux champs de fusion CharFormat, MergeFormat et MergeFormatInet. None efface le formatage général.
Gestion du GeneralFormatCollection
GeneralFormatCollection implémente IEnumerable<GeneralFormat>, vous pouvez donc l’itérer avec GetEnumerator() dans une boucle foreach. Appelez Add(item) pour ajouter une valeur GeneralFormat, Remove(item) pour supprimer chaque occurrence d’une valeur, ou RemoveAt(index) pour supprimer la valeur à une position spécifique. Count indique combien de formats généraux sont actuellement appliqués.
Conseils et meilleures pratiques
- Définissez
Field.Format.NumericFormatouField.Format.DateTimeFormatplutôt que d’intégrer une image de formatage directement dans la chaîne du code de champ — la propriété typée maintient le code de champ et son commutateur de formatage synchronisés. - Combinez plusieurs valeurs
GeneralFormat(par exempleUpperetMergeFormat) en ajoutant chacune àGeneralFormatsindividuellement ; la collection autorise plusieurs entrées. - Après avoir modifié une propriété
FieldFormat, appelezUpdate()sur le champ propriétaire afin que le nouveau formatage soit reflété dansResult/DisplayResult. - Utilisez
GeneralFormat.Nonepour effacer explicitement une entrée de format général plutôt que de laisser des valeurs de formatage obsolètes dans la collection. - Vérifiez
GeneralFormatCollection.Countavant de supposer qu’un champ n’a aucun format général appliqué — une collection vide et une collection contenantNonesont des états différents.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
La modification de NumericFormat n’a aucun effet visible | Le champ n’a pas été recalculé après la modification | Appelez Update() sur le champ après avoir modifié toute propriété FieldFormat |
Des formats généraux dupliqués apparaissent dans GeneralFormats | Add(item) a été appelé plus d’une fois pour la même valeur GeneralFormat | Vérifiez GeneralFormatCollection.Count ou itérez avant d’ajouter, ou appelez Remove(item) d’abord |
Entrée incorrecte supprimée de GeneralFormats | RemoveAt(index) a été appelé avec un indice qui a changé après une suppression précédente | Vérifiez Count et itérez à nouveau la collection avant de supprimer par indice |
FAQ
À quoi sert FieldFormat ?
C’est l’objet de formatage typé exposé par Field.Format, donnant accès au format numérique du champ (NumericFormat), au format date/heure (DateTimeFormat) et aux formats généraux (GeneralFormats).
Un champ peut-il avoir plusieurs formats généraux appliqués ?
Oui — GeneralFormats est un GeneralFormatCollection, et vous pouvez Add plus d’une valeur GeneralFormat à celui-ci.
Comment puis-je supprimer tout format général d’un champ ?
Itérer GeneralFormats et appeler Remove(item) pour chaque valeur, ou RemoveAt(index) pour une entrée spécifique.
Le fait de définir les propriétés FieldFormat rafraîchit-il automatiquement le texte affiché du champ?
Non — appelez Update() sur le champ après avoir modifié ses propriétés Format afin que Result et DisplayResult reflètent le nouveau formatage.
API Reference Résumé
| Classe/Méthode | Description |
|---|---|
FieldFormat | Accès typé à la mise en forme numérique, date/heure et générale d’un champ ; exposé via Field.Format |
FieldFormat.NumericFormat | Masque de format appliqué au résultat d’un champ numérique |
FieldFormat.DateTimeFormat | Masque de format appliqué au résultat d’un champ date/heure |
FieldFormat.GeneralFormats | GeneralFormatCollection des formats généraux appliqués au résultat du champ |
GeneralFormat | Énumération des commutateurs de formatage généraux (transformation de casse, systèmes de numérotation, formats de champs de fusion) |
GeneralFormatCollection | Collection typée de valeurs GeneralFormat ; Add, Remove, RemoveAt, Count, GetEnumerator |