Field

Field class

Rappresenta un campo documento di 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 aFieldFormat oggetto che fornisce accesso digitato 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 deve ricalcolare il 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ò esserenullo .
Start { get; }Ottiene il nodo che rappresenta l’inizio del campo.
virtual Type { get; }Ottiene il tipo di campo Microsoft Word.

Metodi

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

Osservazioni

Un campo in un documento di Word è una struttura complessa composta da più nodi che includono inizio campo, codice campo , separatore campo, risultato campo e fine campo. I campi possono essere nidificati, contenere contenuti avanzati e estendersi su più paragrafi o sezioni in un documento. ILField class è 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 iniziale, separatore e finale del campo .

Il contenuto tra l’inizio del campo e il separatore è 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. Si prevede che l’applicazione di elaborazione esegua il codice di campo per calcolare il risultato del campo.

Il processo di calcolo dei risultati del campo è chiamato aggiornamento del campo. Aspose.Words può aggiornare i risultati field della maggior parte dei tipi di campo esattamente nello stesso modo in cui lo fa 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 utilizzare il fileUpdate metodo. Per aggiornare i campi nell’intero documento utilizzareUpdateFields.

È possibile ottenere la versione in testo semplice del codice di campo utilizzando il fileGetFieldCode metodo. È possibile ottenere e impostare la versione in testo semplice del risultato del campo utilizzando il metodoResult property. Sia il codice del campo che il risultato del campo possono contenere contenuti complessi, come campi nidificati, paragrafi, forme, tabelle e in questo caso potresti voler lavorare direttamente con i nodi del campo se hai bisogno di maggiore controllo.

Non crei istanze diField class direttamente. Per creare un nuovo campo utilizzare il fileInsertField 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.That(DateTime.Parse(field.Result), Is.EqualTo(DateTime.Today).Within(1).Days);

Guarda anche