قالببندی نتایج فیلد
قالببندی نتیجه فیلد
این راهنما نشان میدهد چگونه میتوان قالببندی عددی، تاریخ/زمان و کلی اعمالشده بر نتیجه محاسبهشده یک فیلد را در 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 برمیگرداند — قالبهای عمومی که بر روی یک عدد، متن یا هر نتیجهٔ فیلد اعمال میشوند. اعضای آن از شمارش 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 آن را تکرار کنید. برای افزودن یک مقدار GeneralFormat، Add(item) را فراخوانی کنید، برای حذف هر رخداد یک مقدار، 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 هیچ تأثیر قابل مشاهدهای ندارد | فیلد پس از تغییر دوباره محاسبه نشد | پس از ویرایش هر ویژگی FieldFormat، Update() را روی فیلد فراخوانی کنید |
قالبهای عمومی تکراری در GeneralFormats ظاهر میشوند | Add(item) بیش از یک بار برای مقدار GeneralFormat یکسان فراخوانی شد | قبل از افزودن، GeneralFormatCollection.Count را بررسی کنید یا تکرار کنید، یا ابتدا Remove(item) را فراخوانی کنید |
ورودی نادرست از GeneralFormats حذف شد | RemoveAt(index) با اندیسی فراخوانی شد که پس از حذف قبلی جابجا شده بود | قبل از حذف بر اساس اندیس، Count را بررسی کنید و مجموعه را دوباره تکرار کنید |
FAQ
از FieldFormat برای چه استفاده میشود؟
این شیء قالببندی تایپشدهای است که توسط Field.Format ارائه میشود و دسترسی به قالب عددی فیلد (NumericFormat)، قالب تاریخ/زمان (DateTimeFormat) و قالبهای کلی (GeneralFormats) را فراهم میکند.
آیا یک فیلد میتواند بیش از یک قالب کلی اعمال شده داشته باشد؟
بله — GeneralFormats یک GeneralFormatCollection است و میتوانید Add بیش از یک مقدار GeneralFormat به آن.
چگونه تمام قالببندیهای کلی را از یک فیلد حذف کنم؟
در GeneralFormats تکرار کنید و برای هر مقدار Remove(item) را فراخوانی کنید، یا برای یک ورودی خاص RemoveAt(index) را استفاده کنید.
آیا تنظیم ویژگیهای FieldFormat بهطور خودکار متن نمایش داده شدهٔ فیلد را بهروز میکند؟
نه — پس از تغییر ویژگیهای Format فیلد، Update() را روی فیلد فراخوانی کنید تا Result و DisplayResult قالببندی جدید را منعکس کنند.
API Reference خلاصه
| کلاس/متد | توضیح |
|---|---|
FieldFormat | دسترسی نوعی به قالببندی عددی، تاریخ/زمان و عمومی یک فیلد؛ از طریق Field.Format در دسترس است |
FieldFormat.NumericFormat | قالببندی تصویر اعمالشده به نتیجهٔ فیلد عددی |
FieldFormat.DateTimeFormat | تصویر قالببندی اعمالشده به نتیجهٔ فیلد تاریخ/زمان |
FieldFormat.GeneralFormats | GeneralFormatCollection از قالبهای عمومی اعمالشده به نتیجهٔ فیلد |
GeneralFormat | Enum از سوئیچهای قالببندی عمومی (تغییرات حروف، سیستمهای شمارهگذاری، قالبهای فیلد ترکیبی) |
GeneralFormatCollection | مجموعهٔ تایپشده از مقادیر GeneralFormat؛ Add، Remove، RemoveAt، Count، GetEnumerator |