Formatação de Resultado de Campo
Formatação de Resultado de Campo
Este guia mostra como controlar a formatação numérica, de data/hora e geral aplicada ao resultado calculado de um campo no Aspose.Words FOSS para .NET, usando a classe FieldFormat, o enum GeneralFormat e GeneralFormatCollection. Cada instância de Field expõe esses interruptores de formatação por meio de sua propriedade Format; esta página aprofunda o que essa propriedade oferece.
Acessando a Formatação de um Campo
Cada Field — e suas subclasses tipadas como FieldDate, FieldCreateDate e FieldSymbol — expõe uma propriedade Format do tipo FieldFormat, usada para acesso tipado à formatação numérica, de data e hora, e geral do campo. Leia Field.Format para inspecionar ou alterar os interruptores anexados ao código de um campo sem editar manualmente o texto bruto do código do campo.
Imagens de Formato Numérico e de Data/Hora
FieldFormat.NumericFormat é uma propriedade string gravável que contém a formatação aplicada ao resultado de um campo numérico. FieldFormat.DateTimeFormat é uma propriedade string gravável que contém a formatação aplicada ao resultado de um campo de data e hora. Defina qualquer uma das propriedades para alterar como o tipo de campo correspondente renderiza seu valor calculado.
Formatos Gerais
FieldFormat.GeneralFormats devolve um GeneralFormatCollection — formatos de uso geral aplicados a um resultado numérico, de texto ou de qualquer campo. Seus membros são extraídos do enum GeneralFormat, que abrange transformações de caixa (Upper, Lower, FirstCap, Caps), numeração romana e ordinal (UppercaseRoman, LowercaseRoman, Ordinal, OrdText), moeda e texto cardinal (DollarText, BahtText, CardText), sistemas de numeração específicos de localidade (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), e os valores específicos de campo de mesclagem CharFormat, MergeFormat e MergeFormatInet. None limpa a formatação geral.
Gerenciando o GeneralFormatCollection
GeneralFormatCollection implementa IEnumerable<GeneralFormat>, então você pode iterá-lo com GetEnumerator() em um loop foreach. Chame Add(item) para acrescentar um valor GeneralFormat, Remove(item) para remover todas as ocorrências de um valor, ou RemoveAt(index) para remover o valor em uma posição específica. Count relata quantos formatos gerais estão atualmente aplicados.
Dicas e Melhores Práticas
- Defina
Field.Format.NumericFormatouField.Format.DateTimeFormatem vez de incorporar uma imagem de formatação diretamente na string do código de campo — a propriedade tipada mantém o código de campo e sua chave de formatação sincronizados. - Combine múltiplos valores
GeneralFormat(por exemplo,UppereMergeFormat) adicionando cada um aGeneralFormatsindividualmente; a coleção permite mais de uma entrada. - Depois de alterar qualquer propriedade
FieldFormat, chameUpdate()no campo proprietário para que a nova formatação seja refletida emResult/DisplayResult. - Use
GeneralFormat.Nonepara limpar explicitamente uma entrada de formato geral em vez de deixar valores de formatação obsoletos na coleção. - Verifique
GeneralFormatCollection.Countantes de assumir que um campo não tem formatação geral aplicada — uma coleção vazia e uma coleção contendoNonesão estados diferentes.
Problemas comuns
| Problema | Causa | Correção |
|---|---|---|
Alterar NumericFormat não tem efeito visível | O campo não foi recalculado após a alteração | Chame Update() no campo depois de editar qualquer propriedade FieldFormat |
Formatos gerais duplicados aparecem em GeneralFormats | Add(item) foi chamado mais de uma vez para o mesmo valor GeneralFormat | Verifique GeneralFormatCollection.Count ou itere antes de adicionar, ou chame Remove(item) primeiro |
Entrada incorreta removida de GeneralFormats | RemoveAt(index) foi chamada com um índice que mudou após uma remoção anterior | Verifique Count e itere a coleção novamente antes de remover por índice |
FAQ
Para que serve FieldFormat?
É o objeto de formatação tipada exposto por Field.Format, que fornece acesso ao formato numérico de um campo (NumericFormat), ao formato de data/hora (DateTimeFormat) e aos formatos gerais (GeneralFormats).
Um campo pode ter mais de uma formatação geral aplicada?
Sim — GeneralFormats é um GeneralFormatCollection, e você pode Add mais de um valor GeneralFormat a ele.
Como remover toda a formatação geral de um campo?
Itere GeneralFormats e chame Remove(item) para cada valor, ou RemoveAt(index) para uma entrada específica.
Definir as propriedades de FieldFormat atualiza automaticamente o texto exibido do campo?
Não — chame Update() no campo após alterar suas propriedades Format para que Result e DisplayResult reflitam a nova formatação.
API Reference Resumo
| Classe/Método | Descrição |
|---|---|
FieldFormat | Acesso tipado ao formato numérico, de data/hora e geral de um campo; exposto via Field.Format |
FieldFormat.NumericFormat | Imagem de formatação aplicada ao resultado de um campo numérico |
FieldFormat.DateTimeFormat | Imagem de formatação aplicada ao resultado de um campo de data/hora |
FieldFormat.GeneralFormats | GeneralFormatCollection de formatos gerais aplicados ao resultado do campo |
GeneralFormat | Enum de interruptores de formatação geral (transformações de maiúsculas/minúsculas, sistemas de numeração, formatos de campo de mesclagem) |
GeneralFormatCollection | Coleção tipada de valores GeneralFormat; Add, Remove, RemoveAt, Count, GetEnumerator |