Field

Field class

Rappresenta un campo del documento Microsoft Word.

Per saperne di più, visita ilLavorare con i campi articolo di documentazione.

public class Field

Proprietà

NomeDescrizione
DisplayResult { get; }Ottiene il testo che rappresenta il risultato del campo visualizzato.
End { get; }Ottiene il nodo che rappresenta la fine del campo.
Format { get; }Ottiene unFieldFormatoggetto che fornisce accesso tipizzato alla formattazione del campo.
IsDirty { get; set; }Ottiene o imposta se il risultato corrente del campo non è più corretto (obsoleto) a causa di altre modifiche apportate al documento.
IsLocked { get; set; }Ottiene o imposta se il campo è bloccato (non dovrebbe ricalcolare il suo risultato).
LocaleId { get; set; }Ottiene o imposta l’LCID del campo.
Result { get; set; }Ottiene o imposta il testo compreso tra il separatore di campo e la fine del campo.
Separator { get; }Ottiene il nodo che rappresenta il separatore di campo. Può esserenull .
Start { get; }Ottiene il nodo che rappresenta l’inizio del campo.
virtual Type { get; }Ottiene il tipo di campo di Microsoft Word.

Metodi

NomeDescrizione
GetFieldCode()Restituisce il testo tra l’inizio del campo e il separatore di campo (o la fine del campo se non c’è un separatore). Sono inclusi sia il codice di campo che il risultato del campo dei campi figlio.
GetFieldCode(bool)Restituisce il testo tra l’inizio del campo e il separatore di campo (o la fine del campo se non c’è separatore).
Remove()Rimuove il campo dal documento. Restituisce un nodo subito dopo il campo. Se la fine del campo è l’ultimo nodo figlio del suo nodo padre, restituisce il paragrafo padre. Se il campo è già stato rimosso, restituiscenull .
Unlink()Esegue lo scollegamento del campo.
Update()Esegue l’aggiornamento del campo. Genera un’eccezione se il campo è già in fase di aggiornamento.
Update(bool)Esegue un aggiornamento di campo. Genera un’eccezione se il campo è già in fase di aggiornamento.

Osservazioni

Un campo in un documento Word è una struttura complessa composta da più nodi che includono l’inizio del campo, il codice di campo, il separatore di campo, il risultato e la fine del campo. I campi possono essere annidati, contenere contenuti avanzati e occupare più paragrafi o sezioni di un documento.Field La classe è un oggetto “facciata” che fornisce proprietà e metodi che consentono di lavorare con un campo come un singolo oggetto.

ILStart ,Separator EEnd le proprietà puntano rispettivamente ai nodi di inizio, separatore e fine del campo .

Il contenuto tra l’inizio e il separatore del campo è il codice di campo. Il contenuto tra il separatore di campo e la fine del campo è il risultato del campo. Il codice di campo è in genere costituito da uno o più Run Oggetti che specificano istruzioni. L’applicazione di elaborazione deve eseguire il codice di campo x000d per calcolare il risultato del campo.

Il processo di calcolo dei risultati dei campi è chiamato aggiornamento di campo. Aspose.Words può aggiornare i risultati field della maggior parte dei tipi di campo esattamente nello stesso modo di Microsoft Word. In particolare, Aspose.Words può calcolare i risultati anche dei campi formula più complessi. Per calcolare il risultato field di un singolo campo, utilizzareUpdate metodo. Per aggiornare i campi nell’intero documento utilizzareUpdateFields.

È possibile ottenere la versione in testo normale del codice di campo utilizzandoGetFieldCodemetodo. È possibile ottenere e impostare la versione in testo normale del risultato del campo utilizzandoResult property. Sia il codice di campo che il risultato del campo possono contenere contenuti complessi, come campi annidati, paragrafi, forme, tabelle e in questo caso potresti voler lavorare direttamente con i nodi del campo se hai bisogno di un maggiore controllo.

Non si creano istanze diField classe direttamente. Per creare un nuovo campo utilizzareInsertField metodo.

Esempi

Mostra come inserire un campo in un documento utilizzando un codice di campo.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Field field = builder.InsertField("DATE \\@ \"dddd, MMMM dd, yyyy\"");

Assert.AreEqual(FieldType.FieldDate, field.Type);
Assert.AreEqual("DATE \\@ \"dddd, MMMM dd, yyyy\"", field.GetFieldCode());

// Questo sovraccarico del metodo InsertField aggiorna automaticamente i campi inseriti.
Assert.True((DateTime.Today - DateTime.Parse(field.Result)).Days <= 1);

Guarda anche