FieldMergeRec

FieldMergeRec class

Implementiert das MERGEREC-Feld.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Feldern Dokumentationsartikel.

public class FieldMergeRec : Field

Konstrukteure

NameBeschreibung
FieldMergeRec()Default_Constructor

Eigenschaften

NameBeschreibung
DisplayResult { get; }Ruft den Text ab, der das angezeigte Feldergebnis darstellt.
End { get; }Ruft den Knoten ab, der das Feldende darstellt.
Format { get; }Ruft a abFieldFormat Objekt, das typisierten Zugriff auf die Formatierung des Felds bietet.
IsDirty { get; set; }Ruft ab oder legt fest, ob das aktuelle Ergebnis des Felds aufgrund anderer am Dokument vorgenommener Änderungen nicht mehr korrekt (veraltet) ist.
IsLocked { get; set; }Ruft ab oder legt fest, ob das Feld gesperrt ist (sollte sein Ergebnis nicht neu berechnen).
LocaleId { get; set; }Ruft die LCID des Felds ab oder legt sie fest.
Result { get; set; }Ruft Text ab, der zwischen dem Feldtrennzeichen und dem Feldende liegt, oder legt diesen fest.
Separator { get; }Ruft den Knoten ab, der das Feldtrennzeichen darstellt. Kann seinNull .
Start { get; }Ruft den Knoten ab, der den Anfang des Felds darstellt.
virtual Type { get; }Ruft den Microsoft Word-Feldtyp ab.

Methoden

NameBeschreibung
GetFieldCode()Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist). Sowohl der Feldcode als auch das Feldergebnis der untergeordneten Felder sind enthalten.
GetFieldCode(bool)Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist).
Remove()Entfernt das Feld aus dem Dokument. Gibt einen Knoten direkt nach dem Feld zurück. Wenn das Ende des Felds das letzte child seines übergeordneten Knotens ist, wird dessen übergeordneter Absatz zurückgegeben. Wenn das Feld bereits entfernt wurde, wird zurückgegebenNull .
Unlink()Führt das Feld unlink aus.
Update()Führt die Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird.
Update(bool)Führt eine Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird.

Bemerkungen

Im Moment implementieren die Felder MERGEREC und MERGESEQ die gleiche Funktionalität, da wir nicht genau wissen , wie Datensätze im Serienbrief von Aspose.Words übersprungen werden sollen.

Beispiele

Zeigt, wie die Felder MERGEREC und MERGESEQ zur Anzahl und Zählung von Serienbriefdatensätzen in den Ausgabedokumenten eines Serienbriefs verwendet werden.

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

builder.Write("Dear ");
FieldMergeField fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Name";
builder.Writeln(",");

// Ein MERGEREC-Feld gibt die Zeilennummer der Daten aus, die in jedem Zusammenführungsausgabedokument zusammengeführt werden.
builder.Write("\nRow number of record in data source: ");
FieldMergeRec fieldMergeRec = (FieldMergeRec)builder.InsertField(FieldType.FieldMergeRec, true);

Assert.AreEqual(" MERGEREC ", fieldMergeRec.GetFieldCode());

// Ein MERGESEQ-Feld zählt die Anzahl erfolgreicher Zusammenführungen und gibt den aktuellen Wert auf jeder entsprechenden Seite aus.
// Wenn ein Serienbrief keine Zeilen überspringt und keine SKIP/SKIPIF/NEXT/NEXTIF-Felder aufruft, sind alle Serienbriefe erfolgreich.
// Die Felder MERGESEQ und MERGEREC zeigen die gleichen Ergebnisse an, wenn der Serienbrief erfolgreich war.
builder.Write("\nSuccessful merge number: ");
FieldMergeSeq fieldMergeSeq = (FieldMergeSeq)builder.InsertField(FieldType.FieldMergeSeq, true);

Assert.AreEqual(" MERGESEQ ", fieldMergeSeq.GetFieldCode());

// Ein SKIPIF-Feld einfügen, das eine Zusammenführung überspringt, wenn der Name „John Doe“ ist.
FieldSkipIf fieldSkipIf = (FieldSkipIf)builder.InsertField(FieldType.FieldSkipIf, true);
builder.MoveTo(fieldSkipIf.Separator);
fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Name";
fieldSkipIf.LeftExpression = "=";
fieldSkipIf.RightExpression = "John Doe";

// Erstellen Sie eine Datenquelle mit 3 Zeilen, von denen eine „John Doe“ als Wert für die Spalte „Name“ enthält.
// Da ein SKIPIF-Feld einmal durch diesen Wert ausgelöst wird, wird die Ausgabe unseres Seriendrucks 2 Seiten statt 3 haben.
// Auf Seite 1 zeigen die Felder MERGESEQ und MERGEREC beide „1“ an.
// Auf Seite 2 wird im Feld MERGEREC „3“ und im Feld MERGESEQ „2“ angezeigt.
DataTable table = new DataTable("Employees");
table.Columns.Add("Name");
table.Rows.Add(new[] { "Jane Doe" });
table.Rows.Add(new[] { "John Doe" });
table.Rows.Add(new[] { "Joe Bloggs" });

doc.MailMerge.Execute(table);            
doc.Save(ArtifactsDir + "Field.MERGEREC.MERGESEQ.docx");

Siehe auch