Formato de Resultado de Campo
Formato del Resultado del Campo
Esta guía muestra cómo controlar el formato numérico, de fecha/hora y general que se aplica al resultado calculado de un campo en Aspose.Words FOSS para .NET, usando la clase FieldFormat, el enumerado GeneralFormat y GeneralFormatCollection. Cada instancia de Field expone estos interruptores de formato a través de su propiedad Format; esta página es el análisis profundo de lo que esa propiedad ofrece.
Accediendo al Formato de un Campo
Cada Field — y sus subclases tipadas como FieldDate, FieldCreateDate y FieldSymbol — expone una propiedad Format de tipo FieldFormat, utilizada para el acceso tipado al formato numérico, de fecha y hora, y general del campo. Lea Field.Format para inspeccionar o cambiar los interruptores adjuntos al código de un campo sin editar manualmente el texto bruto del código del campo.
Imágenes de Formato Numérico y de Fecha/Hora
FieldFormat.NumericFormat es una propiedad string escribible que contiene el formato aplicado al resultado de un campo numérico. FieldFormat.DateTimeFormat es una propiedad string escribible que contiene el formato aplicado al resultado de un campo de fecha y hora. Establezca cualquiera de las dos propiedades para cambiar cómo el tipo de campo correspondiente muestra su valor calculado.
Formatos Generales
FieldFormat.GeneralFormats devuelve un GeneralFormatCollection — formatos de propósito general aplicados a un resultado numérico, de texto o de cualquier campo. Sus miembros se extraen del enum GeneralFormat, que abarca transformaciones de mayúsculas/minúsculas (Upper, Lower, FirstCap, Caps), numeración romana y ordinal (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), texto de moneda y cardinal (DollarText, BahtText, CardText), sistemas de numeración específicos por configuración regional (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), y los valores específicos de campo de combinación CharFormat, MergeFormat y MergeFormatInet. None elimina el formato general.
Gestionar el GeneralFormatCollection
GeneralFormatCollection implementa IEnumerable<GeneralFormat>, por lo que puedes iterarlo con GetEnumerator() en un bucle foreach. Llama a Add(item) para agregar un valor GeneralFormat, a Remove(item) para eliminar cada aparición de un valor, o a RemoveAt(index) para eliminar el valor en una posición específica. Count informa cuántos formatos generales están aplicados actualmente.
Consejos y Mejores Prácticas
- Establece
Field.Format.NumericFormatoField.Format.DateTimeFormaten lugar de incrustar una imagen de formato directamente en la cadena del código de campo — la propiedad tipada mantiene el código de campo y su interruptor de formato sincronizados. - Combina varios valores
GeneralFormat(por ejemploUpperyMergeFormat) añadiendo cada uno aGeneralFormatsindividualmente; la colección permite más de una entrada. - Después de cambiar cualquier propiedad
FieldFormat, llama aUpdate()en el campo propietario para que el nuevo formato se refleje enResult/DisplayResult. - Utiliza
GeneralFormat.Nonepara eliminar explícitamente una entrada de formato general en lugar de dejar valores de formato obsoletos en la colección. - Verifique
GeneralFormatCollection.Countantes de asumir que un campo no tiene formato general aplicado — una colección vacía y una colección que contieneNoneson estados diferentes.
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
Cambiar NumericFormat no tiene efecto visible | El campo no se recalculó después del cambio | Llame a Update() en el campo después de editar cualquier propiedad FieldFormat |
Aparecen formatos generales duplicados en GeneralFormats | Add(item) se llamó más de una vez para el mismo valor GeneralFormat | Verifique GeneralFormatCollection.Count o itere antes de agregar, o llame a Remove(item) primero |
Entrada incorrecta eliminada de GeneralFormats | RemoveAt(index) se llamó con un índice que se desplazó después de una eliminación previa | Verifique Count e itere la colección nuevamente antes de eliminar por índice |
FAQ
¿Para qué se usa FieldFormat?
Es el objeto de formato tipado expuesto por Field.Format, que brinda acceso al formato numérico de un campo (NumericFormat), al formato de fecha/hora (DateTimeFormat) y a los formatos generales (GeneralFormats).
¿Puede un campo tener más de un formato general aplicado?
Sí — GeneralFormats es un GeneralFormatCollection, y puedes Add más de un valor GeneralFormat a él.
¿Cómo elimino todo el formato general de un campo?
Itera GeneralFormats y llama a Remove(item) para cada valor, o RemoveAt(index) para una entrada específica.
¿Establecer las propiedades de FieldFormat actualiza automáticamente el texto mostrado del campo?
No — llama a Update() en el campo después de cambiar sus propiedades Format para que Result y DisplayResult reflejen el nuevo formato.
Resumen de API Reference
| Clase/Método | Descripción |
|---|---|
FieldFormat | Acceso tipado al formato numérico, de fecha/hora y general de un campo; expuesto a través de Field.Format |
FieldFormat.NumericFormat | Imagen de formato aplicada al resultado de un campo numérico |
FieldFormat.DateTimeFormat | Imagen de formato aplicada al resultado de un campo de fecha/hora |
FieldFormat.GeneralFormats | GeneralFormatCollection de formatos generales aplicados al resultado del campo |
GeneralFormat | Enumeración de interruptores de formato generales (transformaciones de mayúsculas/minúsculas, sistemas de numeración, formatos de campos de combinación) |
GeneralFormatCollection | Colección tipada de valores GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator |