Formattazione del risultato del campo
Formattazione del risultato del campo
Questa guida mostra come controllare la formattazione numerica, data/ora e generale applicata al risultato calcolato di un campo in Aspose.Words FOSS per .NET, utilizzando la classe FieldFormat, l’enumerazione GeneralFormat e GeneralFormatCollection. Ogni istanza di Field espone questi interruttori di formattazione tramite la sua proprietà Format; questa pagina è l’analisi approfondita di ciò che offre tale proprietà.
Accedere alla formattazione di un campo
Ogni Field — e le sue sottoclassi tipizzate come FieldDate, FieldCreateDate e FieldSymbol — espone una proprietà Format di tipo FieldFormat, utilizzata per l’accesso tipizzato alla formattazione numerica, data e ora e generale del campo. Leggi Field.Format per ispezionare o modificare gli interruttori collegati al codice di un campo senza modificare manualmente il testo grezzo del codice del campo.
Immagini di formattazione numerica e data/ora
FieldFormat.NumericFormat è una proprietà string scrivibile che contiene la formattazione applicata al risultato di un campo numerico. FieldFormat.DateTimeFormat è una proprietà string scrivibile che contiene la formattazione applicata al risultato di un campo data e ora. Imposta una delle due proprietà per modificare il modo in cui il tipo di campo corrispondente visualizza il valore calcolato.
Formati generali
FieldFormat.GeneralFormats restituisce un GeneralFormatCollection — formati di uso generale applicati a un risultato numerico, di testo o di qualsiasi campo. I suoi membri sono tratti dall’enumerazione GeneralFormat, che comprende trasformazioni di maiuscole/minuscole (Upper, Lower, FirstCap, Caps), numerazione romana e ordinale (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), valuta e testo cardinale (DollarText, BahtText, CardText), sistemi di numerazione specifici per locale (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), e i valori specifici per i campi di unione CharFormat, MergeFormat e MergeFormatInet. None cancella la formattazione generale.
Gestire il GeneralFormatCollection
GeneralFormatCollection implementa IEnumerable<GeneralFormat>, così puoi iterarlo con GetEnumerator() in un ciclo foreach. Chiama Add(item) per aggiungere un valore GeneralFormat, Remove(item) per rimuovere ogni occorrenza di un valore, oppure RemoveAt(index) per rimuovere il valore in una posizione specifica. Count indica quanti formati generali sono attualmente applicati.
Suggerimenti e buone pratiche
- Imposta
Field.Format.NumericFormatoField.Format.DateTimeFormatinvece di incorporare un’immagine di formattazione direttamente nella stringa del codice campo — la proprietà tipizzata mantiene sincronizzati il codice campo e il suo interruttore di formattazione. - Combina più valori
GeneralFormat(ad esempioUppereMergeFormat) aggiungendo ciascuno aGeneralFormatssingolarmente; la collezione consente più di una voce. - Dopo aver modificato qualsiasi proprietà
FieldFormat, chiamaUpdate()sul campo proprietario affinché la nuova formattazione sia riflessa inResult/DisplayResult. - Usa
GeneralFormat.Noneper cancellare esplicitamente una voce di formato generale invece di lasciare valori di formattazione obsoleti nella collezione. - Verifica
GeneralFormatCollection.Countprima di presumere che un campo non abbia alcuna formattazione generale applicata — una raccolta vuota e una raccolta contenenteNonesono stati differenti.
Problemi comuni
| Problema | Causa | Correzione |
|---|---|---|
Cambiare NumericFormat non ha alcun effetto visibile | Il campo non è stato ricalcolato dopo la modifica | Chiama Update() sul campo dopo aver modificato qualsiasi proprietà FieldFormat |
Formati generali duplicati compaiono in GeneralFormats | Add(item) è stato chiamato più di una volta per lo stesso valore GeneralFormat | Verifica GeneralFormatCollection.Count o itera prima di aggiungere, o chiama prima Remove(item) |
Voce errata rimossa da GeneralFormats | RemoveAt(index) è stato chiamato con un indice che è stato spostato dopo una rimozione precedente | Verifica Count e itera nuovamente la raccolta prima di rimuovere per indice |
FAQ
A cosa serve FieldFormat?
È l’oggetto di formattazione tipizzato esposto da Field.Format, che fornisce l’accesso al formato numerico di un campo (NumericFormat), al formato data/ora (DateTimeFormat) e ai formati generali (GeneralFormats).
Un campo può avere più di una formattazione generale applicata?
Sì — GeneralFormats è un GeneralFormatCollection, e puoi Add più di un valore GeneralFormat ad esso.
Come rimuovo tutta la formattazione generale da un campo?
Itera GeneralFormats e chiama Remove(item) per ogni valore, oppure RemoveAt(index) per una voce specifica.
L’impostazione delle proprietà FieldFormat aggiorna automaticamente il testo visualizzato del campo?
No — chiama Update() sul campo dopo aver modificato le sue proprietà Format affinché Result e DisplayResult riflettano il nuovo formato.
API Reference Riepilogo
| Classe/Metodo | Descrizione |
|---|---|
FieldFormat | Accesso tipizzato alla formattazione numerica, data/ora e generale di un campo; esposto tramite Field.Format |
FieldFormat.NumericFormat | Immagine di formattazione applicata al risultato di un campo numerico |
FieldFormat.DateTimeFormat | Immagine di formattazione applicata al risultato di un campo data/ora |
FieldFormat.GeneralFormats | GeneralFormatCollection dei formati generali applicati al risultato del campo |
GeneralFormat | Enum dei commutatori di formattazione generali (trasformazioni di maiuscole/minuscole, sistemi di numerazione, formati di campi di unione) |
GeneralFormatCollection | Raccolta tipizzata di valori GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator |