Formátování výsledků pole
Formátování výsledku pole
Tento průvodce ukazuje, jak ovládat číselné, datum/časové a obecné formátování aplikované na vypočtený výsledek pole v Aspose.Words FOSS pro .NET, pomocí třídy FieldFormat, výčtu GeneralFormat a GeneralFormatCollection. Každá instance Field vystavuje tyto přepínače formátování prostřednictvím své vlastnosti Format; tato stránka je podrobným rozborem toho, co tato vlastnost nabízí.
Přístup k formátování pole
Každý Field — a jeho typované podtřídy jako FieldDate, FieldCreateDate a FieldSymbol — vystavuje vlastnost Format typu FieldFormat, která slouží k typovému přístupu k číselnému, datum a časovému a obecnému formátování pole. Přečtěte si Field.Format pro prohlédnutí nebo změnu přepínačů připojených ke kódu pole, aniž byste ručně upravovali surový text kódu pole.
Obrázky číselného a datum/časového formátu
FieldFormat.NumericFormat je zapisovatelná vlastnost string, která obsahuje formátování aplikované na výsledek číselného pole. FieldFormat.DateTimeFormat je zapisovatelná vlastnost string, která obsahuje formátování aplikované na výsledek pole s datum a časem. Nastavte kteroukoli z těchto vlastností, abyste změnili, jak odpovídající typ pole vykresluje svou vypočtenou hodnotu.
Obecné formáty
FieldFormat.GeneralFormats vrací GeneralFormatCollection — obecné formáty aplikované na číselný, textový nebo libovolný výsledek pole. Jeho členové jsou převzati z výčtu GeneralFormat, který zahrnuje transformace velkých/malých písmen (Upper, Lower, FirstCap, Caps), římské a pořadové číslování (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), měnový a kardinální text (DollarText, BahtText, CardText), lokálně specifické číselné systémy (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), a hodnot specifických pro slučovací pole CharFormat, MergeFormat a MergeFormatInet. None vymaže obecné formátování.
Správa GeneralFormatCollection
GeneralFormatCollection implementuje IEnumerable<GeneralFormat>, takže jej můžete iterovat pomocí GetEnumerator() v foreach smyčce. Zavolejte Add(item) pro přidání GeneralFormat hodnoty, Remove(item) pro odstranění každého výskytu hodnoty nebo RemoveAt(index) pro odstranění hodnoty na konkrétní pozici. Count uvádí, kolik obecných formátů je aktuálně aplikováno.
Tipy a osvědčené postupy
- Nastavte
Field.Format.NumericFormatneboField.Format.DateTimeFormatmísto vkládání formátovacího obrázku přímo do řetězce kódu pole — typovaná vlastnost udržuje kód pole a jeho přepínač formátování v synchronizaci. - Kombinujte více hodnot
GeneralFormat(napříkladUpperaMergeFormat) přidáním každé zvlášť doGeneralFormats; kolekce umožňuje více než jeden záznam. - Po změně jakékoli vlastnosti
FieldFormatzavolejteUpdate()na vlastní pole, aby se nové formátování projevilo vResult/DisplayResult. - Použijte
GeneralFormat.Nonek explicitnímu vymazání položky obecného formátu místo ponechání zastaralých hodnot formátování v kolekci. - Zkontrolujte
GeneralFormatCollection.Count, než předpokládáte, že pole nemá použité žádné obecné formátování — prázdná kolekce a kolekce obsahujícíNonejsou odlišné stavy.
Časté problémy
| Problém | Příčina | Oprava |
|---|---|---|
Změna NumericFormat nemá žádný viditelný efekt | Pole nebylo po změně přepočteno | Po úpravě libovolné vlastnosti FieldFormat zavolejte Update() na pole |
Duplicitní obecné formáty se objevují v GeneralFormats | Add(item) bylo voláno více než jednou pro stejnou hodnotu GeneralFormat | Zkontrolujte GeneralFormatCollection.Count nebo iterujte před přidáním, nebo nejprve zavolejte Remove(item) |
Nesprávná položka odstraněna z GeneralFormats | RemoveAt(index) byl zavolán s indexem, který se posunul po předchozím odstranění | Zkontrolujte Count a iterujte kolekci znovu před odstraněním podle indexu |
FAQ
K čemu se používá FieldFormat?
Jedná se o typovaný objekt formátování vystavený Field.Format, který poskytuje přístup k číselnému formátu pole (NumericFormat), formátu data/času (DateTimeFormat) a obecným formátům (GeneralFormats).
Může mít pole použito více než jedno obecné formátování?
Ano — GeneralFormats je GeneralFormatCollection a můžete Add více než jednu hodnotu GeneralFormat k ní.
Jak odebrat všechna obecná formátování z pole?
Iterujte GeneralFormats a zavolejte Remove(item) pro každou hodnotu, nebo RemoveAt(index) pro konkrétní položku.
Způsobí nastavení vlastností FieldFormat automatické obnovení zobrazeného textu pole?
Ne — po změně jejích vlastností Format zavolejte Update() na pole, aby Result a DisplayResult odrážely nové formátování.
API Reference Shrnutí
| Třída/Metoda | Popis: |
|---|---|
FieldFormat | Typizovaný přístup k číselnému, datum/časovému a obecnému formátování pole; zpřístupněno přes Field.Format |
FieldFormat.NumericFormat | Formátovací maska aplikovaná na výsledek číselného pole |
FieldFormat.DateTimeFormat | Formátovací maska aplikovaná na výsledek pole datum/čas |
FieldFormat.GeneralFormats | GeneralFormatCollection obecných formátů aplikovaných na výsledek pole |
GeneralFormat | Výčet obecných přepínačů formátování (převody velikosti písmen, číselné systémy, formáty slučovacích polí) |
GeneralFormatCollection | Typová kolekce hodnot GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator |