Định dạng Kết quả Trường

Định dạng Kết quả Trường

Định dạng kết quả trường

Hướng dẫn này chỉ ra cách kiểm soát định dạng số, ngày/giờ và định dạng chung được áp dụng cho kết quả tính toán của một trường trong Aspose.Words FOSS cho .NET, sử dụng lớp FieldFormat, enum GeneralFormat, và GeneralFormatCollection. Mỗi thể hiện Field đều tiết lộ các công tắc định dạng này qua thuộc tính Format của nó; trang này là phần khám phá sâu về những gì thuộc tính đó cung cấp.


Truy cập định dạng của trường

Mỗi Field — và các lớp con đã được định kiểu như FieldDate, FieldCreateDate, và FieldSymbol — tiết lộ một thuộc tính Format có kiểu FieldFormat, được dùng để truy cập có kiểu vào định dạng số, ngày và giờ, và định dạng chung của trường. Đọc Field.Format để kiểm tra hoặc thay đổi các công tắc gắn vào mã của trường mà không cần chỉnh sửa thủ công văn bản mã thô của trường.


Hình ảnh định dạng số và ngày/giờ

FieldFormat.NumericFormat là một thuộc tính string có thể ghi được, chứa định dạng được áp dụng cho kết quả trường số. FieldFormat.DateTimeFormat là một thuộc tính string có thể ghi được, chứa định dạng được áp dụng cho kết quả trường ngày và giờ. Đặt bất kỳ thuộc tính nào để thay đổi cách loại trường tương ứng hiển thị giá trị đã tính.


Định dạng chung

FieldFormat.GeneralFormats trả về một GeneralFormatCollection — các định dạng đa năng được áp dụng cho một kết quả số, văn bản hoặc bất kỳ trường nào. Các thành viên của nó được lấy từ enum GeneralFormat, bao gồm các biến đổi chữ hoa/thường (Upper, Lower, FirstCap, Caps), đánh số La Mã và thứ tự (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), tiền tệ và văn bản số đếm (DollarText, BahtText, CardText), hệ thống đánh số theo địa phương (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), và các giá trị riêng cho trường hợp hợp nhất CharFormat, MergeFormat, và MergeFormatInet. None xóa định dạng chung.


Quản lý GeneralFormatCollection

GeneralFormatCollection thực hiện IEnumerable<GeneralFormat>, vì vậy bạn có thể lặp lại nó bằng GetEnumerator() trong một vòng lặp foreach. Gọi Add(item) để thêm một giá trị GeneralFormat, Remove(item) để xóa mọi lần xuất hiện của một giá trị, hoặc RemoveAt(index) để xóa giá trị tại vị trí cụ thể. Count báo cáo số lượng định dạng chung hiện đang được áp dụng.


Mẹo và Thực hành Tốt nhất

  • Đặt Field.Format.NumericFormat hoặc Field.Format.DateTimeFormat thay vì nhúng một hình ảnh định dạng trực tiếp vào chuỗi mã trường — thuộc tính đã gõ giữ cho mã trường và công tắc định dạng của nó đồng bộ.
  • Kết hợp nhiều giá trị GeneralFormat (ví dụ Upper và MergeFormat) bằng cách thêm từng giá trị vào GeneralFormats riêng biệt; bộ sưu tập cho phép hơn một mục nhập.
  • Sau khi thay đổi bất kỳ thuộc tính FieldFormat nào, gọi Update() trên trường sở hữu để định dạng mới được phản ánh trong Result / DisplayResult.
  • Sử dụng GeneralFormat.None để xóa một mục định dạng chung một cách rõ ràng thay vì để lại các giá trị định dạng cũ trong bộ sưu tập.
  • Kiểm tra GeneralFormatCollection.Count trước khi giả định một trường không có định dạng chung nào được áp dụng — một bộ sưu tập trống và một bộ sưu tập chứa None là hai trạng thái khác nhau.

Các vấn đề thường gặp

Vấn đềNguyên nhânCách khắc phục
Thay đổi NumericFormat không có hiệu quả nào hiển thịTrường không được tính lại sau khi thay đổiGọi Update() trên trường sau khi chỉnh sửa bất kỳ thuộc tính FieldFormat nào
Các định dạng chung trùng lặp xuất hiện trong GeneralFormatsAdd(item) đã được gọi nhiều hơn một lần cho cùng một giá trị GeneralFormatKiểm tra GeneralFormatCollection.Count hoặc lặp lại trước khi thêm, hoặc gọi Remove(item) trước
Mục nhập sai đã bị xóa khỏi GeneralFormatsRemoveAt(index) đã được gọi với một chỉ mục đã dịch chuyển sau một lần xóa trước đóKiểm tra Count và duyệt lại bộ sưu tập trước khi xóa theo chỉ mục

FAQ

FieldFormat được dùng để làm gì?

Đó là đối tượng định dạng có kiểu được cung cấp bởi Field.Format, cho phép truy cập vào định dạng số của trường (NumericFormat), định dạng ngày/giờ (DateTimeFormat), và các định dạng chung (GeneralFormats).

Một trường có thể có hơn một định dạng chung được áp dụng không?

Có — GeneralFormats là một GeneralFormatCollection, và bạn có thể Add hơn một giá trị GeneralFormat cho nó.

Làm sao để xóa tất cả định dạng chung khỏi một trường?

Lặp lại GeneralFormats và gọi Remove(item) cho mỗi giá trị, hoặc RemoveAt(index) cho một mục cụ thể.

Việc thiết lập các thuộc tính FieldFormat có tự động làm mới văn bản hiển thị của trường không?

Không — gọi Update() trên trường sau khi thay đổi các thuộc tính Format của nó để Result và DisplayResult phản ánh định dạng mới.


API Reference Tóm tắt

Lớp/Phương thứcMô tả
FieldFormatTruy cập có kiểu vào định dạng số, ngày/giờ và chung của một trường; được cung cấp qua Field.Format
FieldFormat.NumericFormatMẫu định dạng được áp dụng cho kết quả trường số
FieldFormat.DateTimeFormatMẫu định dạng được áp dụng cho kết quả trường ngày/giờ
FieldFormat.GeneralFormatsGeneralFormatCollection của các định dạng chung được áp dụng cho kết quả trường
GeneralFormatLiệt kê các công tắc định dạng chung (biến đổi chữ hoa/thường, hệ thống đánh số, định dạng trường hợp ghép)
GeneralFormatCollectionBộ sưu tập đã định kiểu của các giá trị GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator

Xem thêm

 Tiếng Việt