Formatering av fältresultat

Formatering av fältresultat

Fältresultatformatering

Denna guide visar hur man styr den numeriska, datum/tid- och generella formateringen som tillämpas på ett fälts beräknade resultat i Aspose.Words FOSS för .NET, med hjälp av klassen FieldFormat, enumen GeneralFormat och GeneralFormatCollection. Varje Field-instans exponerar dessa formateringsväxlar via sin egenskap Format; den här sidan är en djupdykning i vad den egenskapen erbjuder.


Åtkomst till fältets formatering

Varje Field — och dess typade underklasser såsom FieldDate, FieldCreateDate och FieldSymbol — exponerar en Format-egenskap av typen FieldFormat, som används för typad åtkomst till fältets numeriska, datum- och tids- samt generella formatering. Läs Field.Format för att granska eller ändra växlarna som är kopplade till ett fälts kod utan att manuellt redigera den råa fältkodstexten.


Numeriska och datum/tid-formatbilder

FieldFormat.NumericFormat är en skrivbar string-egenskap som innehåller den formatering som tillämpas på ett numeriskt fältresultat. FieldFormat.DateTimeFormat är en skrivbar string-egenskap som innehåller den formatering som tillämpas på ett datum- och tidsfältresultat. Ställ in någon av egenskaperna för att ändra hur den motsvarande fälttypen renderar sitt beräknade värde.


Generella format

FieldFormat.GeneralFormats returnerar ett GeneralFormatCollection — allmänt syftande format som tillämpas på ett numeriskt, text- eller vilket fältresultat som helst. Dess medlemmar hämtas från GeneralFormat-enumerationen, som omfattar skiftlägesomvandlingar (Upper, Lower, FirstCap, Caps), romersk och ordinal numrering (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), valuta och kardinal text (DollarText, BahtText, CardText), lokalspecifika talsystem (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), och de merge-fältsspecifika värdena CharFormat, MergeFormat och MergeFormatInet. None rensar allmänt format.


Hantera GeneralFormatCollection

GeneralFormatCollection implementerar IEnumerable<GeneralFormat>, så du kan iterera över den med GetEnumerator() i en foreach-loop. Anropa Add(item) för att lägga till ett GeneralFormat-värde, Remove(item) för att ta bort varje förekomst av ett värde, eller RemoveAt(index) för att ta bort värdet på en specifik position. Count rapporterar hur många allmänna format som för närvarande är tillämpade.


Tips och bästa praxis

  • Ange Field.Format.NumericFormat eller Field.Format.DateTimeFormat istället för att bädda in en formateringsbild direkt i fältkodens sträng — den typade egenskapen håller fältkoden och dess formateringsväxel i synk.
  • Kombinera flera GeneralFormat-värden (till exempel Upper och MergeFormat) genom att lägga till varje ett i GeneralFormats individuellt; samlingen tillåter fler än ett objekt.
  • Efter att ha ändrat någon FieldFormat-egenskap, anropa Update() på det ägande fältet så att den nya formateringen återspeglas i Result / DisplayResult.
  • Använd GeneralFormat.None för att uttryckligen rensa en allmän formatpost snarare än att lämna föråldrade formateringsvärden i samlingen.
  • Kontrollera GeneralFormatCollection.Count innan du antar att ett fält saknar generell formatering — en tom samling och en samling som innehåller None är olika tillstånd.

Vanliga problem

ProblemOrsakÅtgärd
Att ändra NumericFormat har ingen synlig effektFältet beräknades inte om efter ändringenAnropa Update() på fältet efter att du har redigerat någon FieldFormat-egenskap
Duplicerade allmänna format visas i GeneralFormatsAdd(item) anropades mer än en gång för samma GeneralFormat-värdeKontrollera GeneralFormatCollection.Count eller iterera innan du lägger till, eller anropa Remove(item) först
Fel post borttagen från GeneralFormatsRemoveAt(index) anropades med ett index som skiftade efter en tidigare borttagningKontrollera Count och iterera samlingen igen innan du tar bort med index

FAQ

Vad används FieldFormat till?

Det är det typade formateringsobjektet som exponeras av Field.Format, vilket ger åtkomst till ett fälts numeriska format (NumericFormat), datum-/tidformat (DateTimeFormat) och generella format (GeneralFormats).

Kan ett fält ha mer än ett generellt format tillämpat?

Ja — GeneralFormats är en GeneralFormatCollection, och du kan Add mer än ett GeneralFormat-värde till den.

Hur tar jag bort all generell formatering från ett fält?

Iterera GeneralFormats och anropa Remove(item) för varje värde, eller RemoveAt(index) för en specifik post.

Uppdateras fältets visade text automatiskt när FieldFormat-egenskaperna sätts?

Nej — anropa Update() på fältet efter att ha ändrat dess Format-egenskaper så att Result och DisplayResult återspeglar den nya formateringen.


API Reference Sammanfattning

Klass/MetodBeskrivning
FieldFormatTypad åtkomst till ett fälts numeriska, datum/tids- och allmänna formatering; exponeras via Field.Format
FieldFormat.NumericFormatFormateringsmall tillämpad på ett numeriskt fältresultat
FieldFormat.DateTimeFormatFormateringsmall tillämpad på ett datum/tid-fältresultat
FieldFormat.GeneralFormatsGeneralFormatCollection av allmänna format som tillämpas på fältresultatet
GeneralFormatEnum av allmänna formateringsväxlar (skiftlägesomvandlingar, nummersystem, sammanfogningsfältformat)
GeneralFormatCollectionTypad samling av GeneralFormat värden; Add, Remove, RemoveAt, Count, GetEnumerator

Se även

 Svenska