FieldMergeSeq
Inhalt
[
Ausblenden
]FieldMergeSeq class
Implementiert das MERGESEQ-Feld.
Um mehr zu erfahren, besuchen Sie dieArbeiten mit Feldern Dokumentationsartikel.
public class FieldMergeSeq : Field
Konstrukteure
Name | Beschreibung |
---|---|
FieldMergeSeq() | Default_Constructor |
Eigenschaften
Name | Beschreibung |
---|---|
DisplayResult { get; } | Ruft den Text ab, der das angezeigte Feldergebnis darstellt. |
End { get; } | Ruft den Knoten ab, der das Feldende darstellt. |
Format { get; } | Erhält eineFieldFormat 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 (das Ergebnis sollte nicht neu berechnet werden). |
LocaleId { get; set; } | Ruft die LCID des Felds ab oder legt sie fest. |
Result { get; set; } | Ruft Text ab oder legt ihn fest, der zwischen Feldtrennzeichen und Feldende steht. |
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
Name | Beschreibung |
---|---|
GetFieldCode() | Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist). Sowohl Feldcode als auch Feldergebnis von untergeordneten Feldern werden einbezogen. |
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 Kind seines übergeordneten Knotens ist, wird dessen übergeordneter Absatz zurückgegeben. Wenn das Feld bereits entfernt wurde, wird zurückgegebennull . |
Unlink() | Führt die Feldverknüpfung 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 Aspose.Words-Serienbrief übersprungen werden.
Beispiele
Zeigt, wie die Felder MERGEREC und MERGESEQ zum Nummerieren und Zählen 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 druckt die Zeilennummer der zusammengeführten Daten in jedem Zusammenführungsausgabedokument.
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 der erfolgreichen Zusammenführungen und druckt den aktuellen Wert auf der jeweiligen Seite.
// Wenn bei einem Serienbrief keine Zeilen übersprungen werden und keine SKIP/SKIPIF/NEXT/NEXTIF-Felder aufgerufen werden, sind alle Serienbriefe erfolgreich.
// Die Felder MERGESEQ und MERGEREC zeigen die gleichen Ergebnisse an, wenn der Seriendruck erfolgreich war.
builder.Write("\nSuccessful merge number: ");
FieldMergeSeq fieldMergeSeq = (FieldMergeSeq)builder.InsertField(FieldType.FieldMergeSeq, true);
Assert.AreEqual(" MERGESEQ ", fieldMergeSeq.GetFieldCode());
// Fügen Sie ein SKIPIF-Feld ein, das eine Zusammenführung überspringt, wenn der Name „John Doe“ lautet.
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, besteht die Ausgabe unseres Serienbriefs aus 2 statt 3 Seiten.
// Auf Seite 1 zeigen die Felder MERGESEQ und MERGEREC beide „1“ an.
// Auf Seite 2 zeigt das Feld MERGEREC „3“ und das Feld MERGESEQ „2“ an.
DataTable table = new DataTable("Employees");
table.Columns.Add("Name");
table.Rows.Add("Jane Doe");
table.Rows.Add("John Doe");
table.Rows.Add("Joe Bloggs");
doc.MailMerge.Execute(table);
doc.Save(ArtifactsDir + "Field.MERGEREC.MERGESEQ.docx");
Siehe auch
- class Field
- namensraum Aspose.Words.Fields
- Montage Aspose.Words