Formatarea rezultatului câmpului
Formatarea rezultatului câmpului
Acest ghid arată cum să controlați formatarea numerică, data/oră și cea generală aplicată rezultatului calculat al unui câmp în Aspose.Words FOSS pentru .NET, utilizând clasa FieldFormat, enumul GeneralFormat și GeneralFormatCollection. Fiecare instanță Field expune aceste comutatoare de formatare prin proprietatea sa Format; această pagină oferă o analiză detaliată a ceea ce oferă acea proprietate.
Accesarea formatarei unui câmp
Fiecare Field — și subclasele sale tipizate, cum ar fi FieldDate, FieldCreateDate și FieldSymbol — expune o proprietate Format de tip FieldFormat, utilizată pentru acces tipizat la formatarea numerică, de dată și oră și generală a câmpului. Citiți Field.Format pentru a inspecta sau modifica comutatoarele atașate codului unui câmp fără a edita manual textul brut al codului câmpului.
Imagini de formatare numerică și dată/oră
FieldFormat.NumericFormat este o proprietate string editabilă care conține formatarea aplicată rezultatului unui câmp numeric. FieldFormat.DateTimeFormat este o proprietate string editabilă care conține formatarea aplicată rezultatului unui câmp de dată și oră. Setați oricare dintre proprietăți pentru a schimba modul în care tipul de câmp corespunzător redă valoarea calculată.
Formate generale
FieldFormat.GeneralFormats returnează un GeneralFormatCollection — formate de uz general aplicate unui rezultat numeric, de text sau oricărui câmp. Membrii săi sunt extrași din enumul GeneralFormat, care cuprinde transformări de majuscule/minuscule (Upper, Lower, FirstCap, Caps), numerotare romană și ordinală (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), monedă și text cardinal (DollarText, BahtText, CardText), sisteme de numerotare specifice localei (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), și valorile specifice câmpului de îmbinare CharFormat, MergeFormat și MergeFormatInet. None curăță formatarea generală.
Gestionarea GeneralFormatCollection
GeneralFormatCollection implementează IEnumerable<GeneralFormat>, astfel încât poți itera prin el cu GetEnumerator() într-o buclă foreach. Apelează Add(item) pentru a adăuga o valoare GeneralFormat, Remove(item) pentru a elimina fiecare apariție a unei valori sau RemoveAt(index) pentru a elimina valoarea de la o poziție specifică. Count raportează câte formate generale sunt aplicate în prezent.
Sfaturi și cele mai bune practici
- Setează
Field.Format.NumericFormatsauField.Format.DateTimeFormatîn loc să încorporezi o imagine de formatare direct în șirul de cod al câmpului — proprietatea tipizată menține sincronizate codul câmpului și comutatorul său de formatare. - Combină mai multe valori
GeneralFormat(de exempluUpperșiMergeFormat) adăugând fiecare înGeneralFormatsindividual; colecția permite mai mult de o intrare. - După ce modifici orice proprietate
FieldFormat, apeleazăUpdate()pe câmpul proprietar pentru ca noua formatare să fie reflectată înResult/DisplayResult. - Folosește
GeneralFormat.Nonepentru a curăța explicit o intrare de format general în loc să lași valori de formatare învechite în colecție. - Verificați
GeneralFormatCollection.Countînainte de a presupune că un câmp nu are aplicat niciun format general — o colecție goală și o colecție care conțineNonesunt stări diferite.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
Modificarea NumericFormat nu are niciun efect vizibil | Câmpul nu a fost recalculat după modificare | Apelă Update() pe câmp după editarea oricărei proprietăţi FieldFormat |
Formate generale duplicate apar în GeneralFormats | Add(item) a fost apelat de mai multe ori pentru aceeaşi valoare GeneralFormat | Verificaţi GeneralFormatCollection.Count sau iteraţi înainte de a adăuga, sau apelaţi mai întâi Remove(item) |
Intrarea greșită a fost eliminată din GeneralFormats | RemoveAt(index) a fost apelat cu un index care s-a schimbat după o eliminare anterioară | Verificaţi Count și iteraţi colecţia din nou înainte de a elimina prin index |
FAQ
Pentru ce este folosit FieldFormat?
Este obiectul de formatare tipizat expus de Field.Format, oferind acces la formatul numeric al unui câmp (NumericFormat), formatul de dată/oră (DateTimeFormat) și formatele generale (GeneralFormats).
Poate un câmp să aibă aplicat mai mult de un format general?
Da — GeneralFormats este un GeneralFormatCollection, și poți Add mai mult de o valoare GeneralFormat pentru el.
Cum pot elimina toate formatele generale dintr-un câmp?
Iterați GeneralFormats și apelați Remove(item) pentru fiecare valoare, sau RemoveAt(index) pentru o intrare specifică.
Setarea proprietăților FieldFormat actualizează automat textul afișat al câmpului?
Nu — apelați Update() pe câmp după ce ați modificat proprietățile Format, astfel încât Result și DisplayResult să reflecte noua formatare.
API Reference Rezumat
| Clasă/Metodă | Descriere: |
|---|---|
FieldFormat | Acces tipizat la formatarea numerică, de dată/oră și generală a unui câmp; expus prin Field.Format |
FieldFormat.NumericFormat | Model de format aplicat rezultatului unui câmp numeric |
FieldFormat.DateTimeFormat | Model de format aplicat rezultatului unui câmp de dată/oră |
FieldFormat.GeneralFormats | GeneralFormatCollection de formate generale aplicate la rezultatul câmpului |
GeneralFormat | Enum de comutatoare generale de format (transformări de majuscule/minuscule, sisteme de numerotare, formate de câmpuri de îmbinare) |
GeneralFormatCollection | Colecție tipizată de valori GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator |