การจัดรูปแบบผลลัพธ์ของฟิลด์

การจัดรูปแบบผลลัพธ์ของฟิลด์

การจัดรูปแบบผลลัพธ์ของฟิลด์

คู่มือนี้แสดงวิธีการควบคุมการจัดรูปแบบเชิงตัวเลข, วันที่/เวลา, และทั่วไปที่ใช้กับผลลัพธ์ที่คำนวณของฟิลด์ใน Aspose.Words FOSS สำหรับ .NET, โดยใช้คลาส FieldFormat, enum GeneralFormat, และ GeneralFormatCollection. ทุกอินสแตนซ์ของ Field จะเปิดเผยสวิตช์การจัดรูปแบบเหล่านี้ผ่านคุณสมบัติ Format; หน้านี้เป็นการเจาะลึกในสิ่งที่คุณสมบัตินี้นำเสนอ.


การเข้าถึงการจัดรูปแบบของฟิลด์

ทุก Field — รวมถึงซับคลาสที่กำหนดประเภทเช่น FieldDate, FieldCreateDate, และ FieldSymbol — จะเปิดเผยคุณสมบัติ Format ที่มีประเภท FieldFormat, ใช้สำหรับการเข้าถึงแบบกำหนดประเภทต่อการจัดรูปแบบเชิงตัวเลข, วันที่และเวลา, และทั่วไปของฟิลด์. อ่าน Field.Format เพื่อสำรวจหรือเปลี่ยนสวิตช์ที่แนบกับโค้ดของฟิลด์โดยไม่ต้องแก้ไขด้วยมือข้อความโค้ดดิบของฟิลด์.


ภาพตัวอย่างการจัดรูปแบบเชิงตัวเลขและวันที่/เวลา

FieldFormat.NumericFormat เป็นคุณสมบัติ string ที่สามารถเขียนได้ซึ่งเก็บการจัดรูปแบบที่ใช้กับผลลัพธ์ของฟิลด์เชิงตัวเลข. FieldFormat.DateTimeFormat เป็นคุณสมบัติ string ที่สามารถเขียนได้ซึ่งเก็บการจัดรูปแบบที่ใช้กับผลลัพธ์ของฟิลด์วันที่และเวลา. ตั้งค่าคุณสมบัติใดคุณสมบัติหนึ่งเพื่อเปลี่ยนวิธีที่ประเภทฟิลด์ที่สอดคล้องกันแสดงค่าที่คำนวณได้.


รูปแบบทั่วไป

FieldFormat.GeneralFormats คืนค่า GeneralFormatCollection — รูปแบบอเนกประสงค์ที่ใช้กับผลลัพธ์เชิงตัวเลข, ข้อความ, หรือฟิลด์ใด ๆ สมาชิกของมันถูกดึงมาจาก enum 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 ของรูปแบบทั่วไปที่ใช้กับผลลัพธ์ของฟิลด์
GeneralFormatEnum ของสวิตช์การจัดรูปแบบทั่วไป (การแปลงตัวพิมพ์, ระบบการนับเลข, รูปแบบฟิลด์ผสาน)
GeneralFormatCollectionคอลเลกชันแบบกำหนดประเภทของค่า GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator

ดูเพิ่มเติม

 ภาษาไทย