Форматування результату поля

Форматування результату поля

Форматування результату поля

У цьому посібнику показано, як керувати числовим, датою/часом та загальним форматуванням, що застосовується до обчисленого результату поля в Aspose.Words FOSS для .NET, використовуючи клас FieldFormat, перелік GeneralFormat та GeneralFormatCollection. Кожен екземпляр Field надає ці перемикачі форматування через свою властивість Format; ця сторінка — глибоке занурення у те, що пропонує ця властивість.


Доступ до форматування поля

Кожен Field — а також його типізовані підкласи, такі як FieldDate, FieldCreateDate і FieldSymbol — надає властивість Format типу FieldFormat, що використовується для типізованого доступу до числового, датового та часового, а також загального форматування поля. Прочитайте Field.Format, щоб переглянути або змінити перемикачі, прикріплені до коду поля, без ручного редагування сирого тексту коду поля.


Зображення числових та датових/часових форматів

FieldFormat.NumericFormat — це записувана властивість string, що містить форматування, застосоване до результату числового поля. FieldFormat.DateTimeFormat — це записувана властивість string, що містить форматування, застосоване до результату поля дати та часу. Встановіть будь-яку з цих властивостей, щоб змінити спосіб, у який відповідний тип поля виводить своє обчислене значення.


Загальні формати

FieldFormat.GeneralFormats повертає GeneralFormatCollection — формати загального призначення, застосовані до числового, текстового або будь-якого результату поля. Його члени беруться з переліку GeneralFormat, який охоплює перетворення регістру (Upper, Lower, FirstCap, Caps), римську та порядкову нумерацію (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), валюту та кардинальний текст (DollarText, BahtText, CardText), локально-специфічні системи нумерації (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), а також значення, специфічні для поля злиття CharFormat, MergeFormat та MergeFormatInet. None очищає загальне форматування.


Керування GeneralFormatCollection

GeneralFormatCollection реалізує IEnumerable<GeneralFormat>, тому його можна ітерувати за допомогою GetEnumerator() у foreach циклі. Викличте Add(item), щоб додати значення GeneralFormat, Remove(item) — щоб видалити всі входження значення, або RemoveAt(index) — щоб видалити значення на певній позиції. Count повідомляє, скільки загальних форматів наразі застосовано.


Поради та найкращі практики

  • Встановлюйте Field.Format.NumericFormat або Field.Format.DateTimeFormat, а не вбудовуєте зображення форматування безпосередньо у рядок коду поля — типізована властивість підтримує синхронізацію коду поля та його перемикача форматування.
  • Об’єднуйте кілька значень GeneralFormat (наприклад, Upper та MergeFormat), додаючи кожне окремо до GeneralFormats; колекція дозволяє мати більше одного запису.
  • Після зміни будь-якої властивості FieldFormat викличте Update() у володіючому полі, щоб нове форматування відобразилося в Result / DisplayResult.
  • Використовуйте GeneralFormat.None, щоб явно очистити запис загального формату, а не залишати застарілі значення форматування у колекції.
  • Перевірте GeneralFormatCollection.Count, перш ніж припускати, що поле не має застосованого загального форматування — порожня колекція та колекція, що містить None, — різні стани.

Типові проблеми

ПроблемаПричинаВиправлення
Зміна NumericFormat не має видимого ефектуПоле не було перераховано після зміниВикличте Update() на полі після редагування будь-якої властивості FieldFormat
Дублюючі загальні формати з’являються в GeneralFormatsAdd(item) був викликаний більше одного разу для того самого значення GeneralFormatПеревірте GeneralFormatCollection.Count або ітеруйте перед додаванням, або спочатку викличте Remove(item)
Видалено неправильний запис з GeneralFormatsRemoveAt(index) було викликано з індексом, який змістився після попереднього видаленняПеревірте Count і ще раз ітеруйте колекцію перед видаленням за індексом

FAQ

Для чого використовується FieldFormat?

Це типізований об’єкт форматування, який надає Field.Format, забезпечуючи доступ до числового формату поля (NumericFormat), формату дати/часу (DateTimeFormat) та загальних форматів (GeneralFormats).

Чи може поле мати застосованим більше одного загального формату?

Так — GeneralFormats є GeneralFormatCollection, і ви можете Add більше одного значення GeneralFormat до нього.

Як видалити з поля все загальне форматування?

Ітерація GeneralFormats та виклик Remove(item) для кожного значення, або RemoveAt(index) для конкретного запису.

Чи оновлює автоматично відображений текст поля при встановленні властивостей FieldFormat?

Ні — викличте Update() на полі після зміни його властивостей Format, щоб Result і DisplayResult відображали нове форматування.


API Reference Підсумок

Клас/МетодОпис
FieldFormatТипізований доступ до числового, дат/часового та загального форматування поля; надається через Field.Format
FieldFormat.NumericFormatФорматне зображення, застосоване до результату числового поля
FieldFormat.DateTimeFormatФорматне зображення, застосоване до результату поля дати/часу
FieldFormat.GeneralFormatsGeneralFormatCollection загальних форматів, застосованих до результату поля
GeneralFormatПерелік загальних перемикачів форматування (перетворення регістру, системи нумерації, формати полів злиття)
GeneralFormatCollectionТипізована колекція GeneralFormat значень; Add, Remove, RemoveAt, Count, GetEnumerator

Дивіться також

 Українська