Formatowanie Wyników Pola
Formatowanie Wyniku Pola
Ten przewodnik pokazuje, jak kontrolować formatowanie liczb, dat/czasu oraz ogólne formatowanie stosowane do obliczonego wyniku pola w Aspose.Words FOSS dla .NET, przy użyciu klasy FieldFormat, wyliczenia GeneralFormat oraz GeneralFormatCollection. Każda instancja Field udostępnia te przełączniki formatowania poprzez swoją właściwość Format; ta strona to szczegółowe omówienie tego, co oferuje ta właściwość.
Dostęp do formatowania pola
Każdy Field — oraz jego typowane podklasy, takie jak FieldDate, FieldCreateDate i FieldSymbol — udostępnia właściwość Format typu FieldFormat, służącą do typowanego dostępu do formatowania liczb, dat i czasu oraz formatowania ogólnego pola. Przeczytaj Field.Format, aby sprawdzić lub zmienić przełączniki dołączone do kodu pola bez ręcznej edycji surowego tekstu kodu pola.
Wzorce formatów liczbowych i dat/czasu
FieldFormat.NumericFormat jest zapisywalną właściwością string, przechowującą formatowanie zastosowane do wyniku pola liczbowego. FieldFormat.DateTimeFormat jest zapisywalną właściwością string, przechowującą formatowanie zastosowane do wyniku pola daty i czasu. Ustaw dowolną z tych właściwości, aby zmienić sposób, w jaki odpowiadający typ pola renderuje swoją obliczoną wartość.
Formaty ogólne
FieldFormat.GeneralFormats zwraca GeneralFormatCollection — formaty ogólnego przeznaczenia stosowane do wyniku numerycznego, tekstowego lub dowolnego pola. Jego elementy pochodzą z wyliczenia GeneralFormat, które obejmuje przekształcenia wielkości liter (Upper, Lower, FirstCap, Caps), liczby rzymskie i porządkowe (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), waluty i teksty kardynalne (DollarText, BahtText, CardText), systemy numeracji specyficzne dla lokalizacji (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), oraz wartości specyficzne dla pola scalania CharFormat, MergeFormat i MergeFormatInet. None usuwa formatowanie ogólne.
Zarządzanie GeneralFormatCollection
GeneralFormatCollection implementuje IEnumerable<GeneralFormat>, więc możesz iterować go za pomocą GetEnumerator() w pętli foreach. Wywołaj Add(item), aby dodać wartość GeneralFormat, Remove(item), aby usunąć każde wystąpienie wartości, lub RemoveAt(index), aby usunąć wartość na określonej pozycji. Count informuje, ile formatów ogólnych jest obecnie zastosowanych.
Wskazówki i najlepsze praktyki
- Ustaw
Field.Format.NumericFormatlubField.Format.DateTimeFormatzamiast osadzać obraz formatowania bezpośrednio w ciągu kodu pola — właściwość typowana utrzymuje kod pola i jego przełącznik formatowania w synchronizacji. - Połącz wiele wartości
GeneralFormat(na przykładUpperiMergeFormat), dodając każdą z nich osobno doGeneralFormats; kolekcja pozwala na więcej niż jeden wpis. - Po zmianie dowolnej właściwości
FieldFormat, wywołajUpdate()na polu właścicielskim, aby nowe formatowanie zostało odzwierciedlone wResult/DisplayResult. - Użyj
GeneralFormat.None, aby wyraźnie usunąć wpis formatu ogólnego zamiast pozostawiać przestarzałe wartości formatowania w kolekcji. - Sprawdź
GeneralFormatCollection.Countprzed założeniem, że pole nie ma zastosowanego formatowania ogólnego — pusta kolekcja i kolekcja zawierającaNoneto różne stany.
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
Zmiana NumericFormat nie ma widocznego efektu | Pole nie zostało przeliczone po zmianie | Wywołaj Update() na polu po edycji dowolnej właściwości FieldFormat |
Zduplikowane formaty ogólne pojawiają się w GeneralFormats | Add(item) zostało wywołane więcej niż raz dla tej samej wartości GeneralFormat | Sprawdź GeneralFormatCollection.Count lub iteruj przed dodaniem, albo najpierw wywołaj Remove(item) first |
Usunięto nieprawidłowy wpis z GeneralFormats | RemoveAt(index) został wywołany z indeksem, który przesunął się po wcześniejszym usunięciu | Sprawdź Count i ponownie iteruj kolekcję przed usunięciem według indeksu |
FAQ
Do czego służy FieldFormat?
Jest to typowany obiekt formatowania udostępniony przez Field.Format, dający dostęp do formatu numerycznego pola (NumericFormat), formatu daty/godziny (DateTimeFormat) oraz formatów ogólnych (GeneralFormats).
Czy pole może mieć zastosowane więcej niż jedno formatowanie ogólne?
Tak — GeneralFormats jest GeneralFormatCollection, i możesz Add więcej niż jedną wartość GeneralFormat do niego.
Jak usunąć wszystkie formatowania ogólne z pola?
Iteruj GeneralFormats i wywołaj Remove(item) dla każdej wartości, lub RemoveAt(index) dla konkretnego wpisu.
Czy ustawienie FieldFormat właściwości automatycznie odświeża wyświetlany tekst pola?
Nie — wywołaj Update() na polu po zmianie jego Format właściwości, aby Result i DisplayResult odzwierciedlały nowe formatowanie.
API Reference Podsumowanie
| Klasa/Metoda | Opis |
|---|---|
FieldFormat | Typowany dostęp do formatowania liczb, dat/czasów i ogólnego pola; udostępniony przez Field.Format |
FieldFormat.NumericFormat | Wzorzec formatowania zastosowany do wyniku pola numerycznego |
FieldFormat.DateTimeFormat | Wzorzec formatowania zastosowany do wyniku pola daty/czasu |
FieldFormat.GeneralFormats | GeneralFormatCollection ogólnych formatów zastosowanych do wyniku pola |
GeneralFormat | Wyliczenie ogólnych przełączników formatowania (transformacje wielkości liter, systemy numeracji, formaty pól scalania) |
GeneralFormatCollection | Zbiór typowany wartości GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator |