FieldMergeField

FieldMergeField class

Implementerar MERGEFIELD-fältet.

För att lära dig mer, besökArbeta med fält dokumentationsartikel.

public class FieldMergeField : Field

Egenskaper

namnBeskrivning
DisplayResult { get; }Hämtar texten som representerar det visade fältresultatet.
End { get; }Hämtar noden som representerar fältets slut.
FieldName { get; set; }Hämtar eller anger namnet på ett datafält.
FieldNameNoPrefix { get; }Returnerar endast namnet på datafältet. Alla prefix tas bort från prefix-egenskapen.
Format { get; }Får enFieldFormatobjekt som ger typad åtkomst till fältets formatering.
IsDirty { get; set; }Hämtar eller anger om det aktuella resultatet av fältet inte längre är korrekt (inaktuellt) på grund av andra ändringar som gjorts i dokumentet.
IsLocked { get; set; }Hämtar eller anger om fältet är låst (resultatet ska inte beräknas om).
IsMapped { get; set; }Hämtar eller anger om detta fält är ett mappat fält.
IsVerticalFormatting { get; set; }Hämtar eller anger om teckenkonvertering ska aktiveras för vertikal formatering.
LocaleId { get; set; }Hämtar eller ställer in fältets LCID.
Result { get; set; }Hämtar eller anger text som är mellan fältavgränsaren och fältslutet.
Separator { get; }Hämtar noden som representerar fältseparatorn. Kan varanull .
Start { get; }Hämtar noden som representerar början av fältet.
TextAfter { get; set; }Hämtar eller ställer in texten som ska infogas efter fältet om fältet inte är tomt.
TextBefore { get; set; }Hämtar eller ställer in texten som ska infogas före fältet om fältet inte är tomt.
override Type { get; }Hämtar fälttypen Microsoft Word.

Metoder

namnBeskrivning
GetFieldCode()Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare). Både fältkod och fältresultat för underfält inkluderas.
GetFieldCode(bool)Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare).
Remove()Tar bort fältet från dokumentet. Returnerar en nod direkt efter fältet. Om fältets slut är den sista undernoden till dess överordnade nod, returneras dess överordnade stycke. Om fältet redan är borttaget returnerasnull .
Unlink()Utför fältavkopplingen.
Update()Utför fältuppdateringen. Körs om fältet redan uppdateras.
Update(bool)Utför en fältuppdatering. Körs om fältet redan uppdateras.

Anmärkningar

Hämtar namnet på ett datafält inom kopplingstecknen i ett huvuddokument för dokumentkoppling. När huvuddokumentet slås samman med den valda datakällan infogas information från det angivna datafältet istället för kopplingsfältet.

Exempel

Visar hur man använder MERGEFIELD-fält för att utföra en dokumentkoppling.

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

// Skapa en datatabell som ska användas som datakälla för dokumentkoppling.
DataTable table = new DataTable("Employees");
table.Columns.Add("Courtesy Title");
table.Columns.Add("First Name");
table.Columns.Add("Last Name");
table.Rows.Add("Mr.", "John", "Doe");
table.Rows.Add("Mrs.", "Jane", "Cardholder");

// Infoga ett MERGEFIELD med en FieldName-egenskap inställd på namnet på en kolumn i datakällan.
FieldMergeField fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Courtesy Title";
fieldMergeField.IsMapped = true;
fieldMergeField.IsVerticalFormatting = false;

// Vi kan lägga till text före och efter värdet som detta fält accepterar när sammanslagningen sker.
fieldMergeField.TextBefore = "Dear ";
fieldMergeField.TextAfter = " ";

Assert.AreEqual(" MERGEFIELD  \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.GetFieldCode());
Assert.AreEqual(FieldType.FieldMergeField, fieldMergeField.Type);

// Infoga ett annat MERGEFIELD-värde för en annan kolumn i datakällan.
fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Last Name";
fieldMergeField.TextAfter = ":";

doc.UpdateFields();
doc.MailMerge.Execute(table);

Assert.AreEqual("Dear Mr. Doe:\u000cDear Mrs. Cardholder:", doc.GetText().Trim());

Se även