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.NumericFormat lub Field.Format.DateTimeFormat zamiast 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ład Upper i MergeFormat), dodając każdą z nich osobno do GeneralFormats; kolekcja pozwala na więcej niż jeden wpis.
  • Po zmianie dowolnej właściwości FieldFormat, wywołaj Update() na polu właścicielskim, aby nowe formatowanie zostało odzwierciedlone w Result / DisplayResult.
  • Użyj GeneralFormat.None, aby wyraźnie usunąć wpis formatu ogólnego zamiast pozostawiać przestarzałe wartości formatowania w kolekcji.
  • Sprawdź GeneralFormatCollection.Count przed założeniem, że pole nie ma zastosowanego formatowania ogólnego — pusta kolekcja i kolekcja zawierająca None to różne stany.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Zmiana NumericFormat nie ma widocznego efektuPole nie zostało przeliczone po zmianieWywołaj Update() na polu po edycji dowolnej właściwości FieldFormat
Zduplikowane formaty ogólne pojawiają się w GeneralFormatsAdd(item) zostało wywołane więcej niż raz dla tej samej wartości GeneralFormatSprawdź GeneralFormatCollection.Count lub iteruj przed dodaniem, albo najpierw wywołaj Remove(item) first
Usunięto nieprawidłowy wpis z GeneralFormatsRemoveAt(index) został wywołany z indeksem, który przesunął się po wcześniejszym usunięciuSprawdź 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/MetodaOpis
FieldFormatTypowany dostęp do formatowania liczb, dat/czasów i ogólnego pola; udostępniony przez Field.Format
FieldFormat.NumericFormatWzorzec formatowania zastosowany do wyniku pola numerycznego
FieldFormat.DateTimeFormatWzorzec formatowania zastosowany do wyniku pola daty/czasu
FieldFormat.GeneralFormatsGeneralFormatCollection ogólnych formatów zastosowanych do wyniku pola
GeneralFormatWyliczenie ogólnych przełączników formatowania (transformacje wielkości liter, systemy numeracji, formaty pól scalania)
GeneralFormatCollectionZbiór typowany wartości GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator

Zobacz także

 Polski