GetFieldNamesForRegion

GetFieldNamesForRegion(string)

Returnerar en samling av kopplingsfältnamn som är tillgängliga i regionen.

public string[] GetFieldNamesForRegion(string regionName)
ParameterTypBeskrivning
regionNameStringRegionnamn (skiftlägeskänsligt).

Anmärkningar

Returnerar fullständiga sammanslagningsfältsnamn inklusive valfritt prefix. Eliminerar inte dubbletter av fältnamn.

Om dokumentet innehåller flera regioner med samma namn bearbetas den allra första regionen.

En ny strängmatris skapas vid varje samtal.

Exempel

Visar hur man skapar, listar och läser kopplingsregioner.

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

// "TableStart" och "TableEnd"-taggar, som går inuti MERGEFIELDs,
// betecknar strängarna som anger början och slut på kopplingsregioner.
Assert.AreEqual("TableStart", doc.MailMerge.RegionStartTag);
Assert.AreEqual("TableEnd", doc.MailMerge.RegionEndTag);

// Använd dessa taggar för att starta och avsluta en kopplingsregion med namnet "MailMergeRegion1",
// som kommer att innehålla MERGEFIELDs för två kolumner.
builder.InsertField(" MERGEFIELD TableStart:MailMergeRegion1");
builder.InsertField(" MERGEFIELD Column1");
builder.Write(", ");
builder.InsertField(" MERGEFIELD Column2");
builder.InsertField(" MERGEFIELD TableEnd:MailMergeRegion1");

// Vi kan hålla reda på sammanslagna regioner och deras kolumner genom att titta på dessa samlingar.
IList<MailMergeRegionInfo> regions = doc.MailMerge.GetRegionsByName("MailMergeRegion1");

Assert.AreEqual(1, regions.Count);
Assert.AreEqual("MailMergeRegion1", regions[0].Name);

string[] mergeFieldNames = doc.MailMerge.GetFieldNamesForRegion("MailMergeRegion1");

Assert.AreEqual("Column1", mergeFieldNames[0]);
Assert.AreEqual("Column2", mergeFieldNames[1]);

// Infoga en region med samma namn i den befintliga regionen, vilket gör den till en förälder.
// Nu kommer ett "Kolumn2"-fält att finnas i en ny region.
builder.MoveToField(regions[0].Fields[1], false); 
builder.InsertField(" MERGEFIELD TableStart:MailMergeRegion1");
builder.MoveToField(regions[0].Fields[1], true);
builder.InsertField(" MERGEFIELD TableEnd:MailMergeRegion1");

// Om vi slår upp namnet på dubbletter av regioner med metoden "GetRegionsByName",
// det kommer att returnera alla sådana regioner i en samling.
regions = doc.MailMerge.GetRegionsByName("MailMergeRegion1");

Assert.AreEqual(2, regions.Count);
// Kontrollera att den andra regionen nu har en överordnad region.
Assert.AreEqual("MailMergeRegion1", regions[1].ParentRegion.Name);

mergeFieldNames = doc.MailMerge.GetFieldNamesForRegion("MailMergeRegion1", 1);

Assert.AreEqual("Column2", mergeFieldNames[0]);

Se även


GetFieldNamesForRegion(string, int)

Returnerar en samling av kopplingsfältnamn som är tillgängliga i regionen.

public string[] GetFieldNamesForRegion(string regionName, int regionIndex)
ParameterTypBeskrivning
regionNameStringRegionnamn (skiftlägeskänsligt).
regionIndexInt32Regionindex (nollbaserat).

Anmärkningar

Returnerar fullständiga sammanslagningsfältsnamn inklusive valfritt prefix. Eliminerar inte dubbletter av fältnamn.

Om dokumentet innehåller flera regioner med samma namn bearbetas den N:te regionen (nollbaserad).

En ny strängmatris skapas vid varje samtal.

Exempel

Visar hur man skapar, listar och läser kopplingsregioner.

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

// "TableStart" och "TableEnd"-taggar, som går inuti MERGEFIELDs,
// betecknar strängarna som anger början och slut på kopplingsregioner.
Assert.AreEqual("TableStart", doc.MailMerge.RegionStartTag);
Assert.AreEqual("TableEnd", doc.MailMerge.RegionEndTag);

// Använd dessa taggar för att starta och avsluta en kopplingsregion med namnet "MailMergeRegion1",
// som kommer att innehålla MERGEFIELDs för två kolumner.
builder.InsertField(" MERGEFIELD TableStart:MailMergeRegion1");
builder.InsertField(" MERGEFIELD Column1");
builder.Write(", ");
builder.InsertField(" MERGEFIELD Column2");
builder.InsertField(" MERGEFIELD TableEnd:MailMergeRegion1");

// Vi kan hålla reda på sammanslagna regioner och deras kolumner genom att titta på dessa samlingar.
IList<MailMergeRegionInfo> regions = doc.MailMerge.GetRegionsByName("MailMergeRegion1");

Assert.AreEqual(1, regions.Count);
Assert.AreEqual("MailMergeRegion1", regions[0].Name);

string[] mergeFieldNames = doc.MailMerge.GetFieldNamesForRegion("MailMergeRegion1");

Assert.AreEqual("Column1", mergeFieldNames[0]);
Assert.AreEqual("Column2", mergeFieldNames[1]);

// Infoga en region med samma namn i den befintliga regionen, vilket gör den till en förälder.
// Nu kommer ett "Kolumn2"-fält att finnas i en ny region.
builder.MoveToField(regions[0].Fields[1], false); 
builder.InsertField(" MERGEFIELD TableStart:MailMergeRegion1");
builder.MoveToField(regions[0].Fields[1], true);
builder.InsertField(" MERGEFIELD TableEnd:MailMergeRegion1");

// Om vi slår upp namnet på dubbletter av regioner med metoden "GetRegionsByName",
// det kommer att returnera alla sådana regioner i en samling.
regions = doc.MailMerge.GetRegionsByName("MailMergeRegion1");

Assert.AreEqual(2, regions.Count);
// Kontrollera att den andra regionen nu har en överordnad region.
Assert.AreEqual("MailMergeRegion1", regions[1].ParentRegion.Name);

mergeFieldNames = doc.MailMerge.GetFieldNamesForRegion("MailMergeRegion1", 1);

Assert.AreEqual("Column2", mergeFieldNames[0]);

Se även