SdtType

SdtType enumeration

Anger typen av en strukturerad dokumenttagg (SDT)-nod.

public enum SdtType

Värderingar

namnVärdeBeskrivning
None0Ingen typ har tilldelats SDT.
Bibliography1SDT representerar en bibliografipost.
Citation2SDT representerar ett citat.
Equation3SDT representerar en ekvation.
DropDownList4SDT representerar en rullgardinslista när den visas i dokumentet.
ComboBox5SDT representerar en kombinationsruta när den visas i dokumentet.
Date6SDT representerar en datumväljare när den visas i dokumentet.
BuildingBlockGallery7SDT representerar en byggstensgallerityp.
DocPartObj8SDT representerar en dokumentdeltyp.
Group9SDT representerar en begränsad gruppering när den visas i dokumentet.
Picture10SDT representerar en bild när den visas i dokumentet.
RichText11SDT representerar en rik textruta när den visas i dokumentet.
PlainText12SDT representerar en vanlig textruta när den visas i dokumentet.
Checkbox13SDT representerar en kryssruta när den visas i dokumentet.
RepeatingSection14SDT representerar repeterande sektionstyp när den visas i dokumentet.
RepeatingSectionItem15SDT representerar repeterande sektionsobjekt.
EntityPicker16SDT representerar en enhetsväljare som låter användaren välja en instans av en extern innehållstyp.

Exempel

Visar hur man skapar en gruppstrukturerad dokumenttagg på radnivå.

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

Table table = builder.StartTable();

// Skapa en gruppstrukturerad dokumenttagg på radnivå.
StructuredDocumentTag groupSdt = new StructuredDocumentTag(doc, SdtType.Group, MarkupLevel.Row);
table.AppendChild(groupSdt);
groupSdt.IsShowingPlaceholderText = false;
groupSdt.RemoveAllChildren();

// Skapa en underordnad rad av den strukturerade dokumenttaggen.
Row row = new Row(doc);
groupSdt.AppendChild(row);

Cell cell = new Cell(doc);
row.AppendChild(cell);

builder.EndTable();

// Infoga cellinnehåll.
cell.EnsureMinimum();
builder.MoveTo(cell.LastParagraph);
builder.Write("Lorem ipsum dolor.");

// Infoga text efter tabellen.
builder.MoveTo(table.NextSibling);
builder.Write("Nulla blandit nisi.");

doc.Save(ArtifactsDir + "StructuredDocumentTag.SdtAtRowLevel.docx");

Visar hur man arbetar med stilar för innehållskontrollelement.

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

// Nedan finns två sätt att tillämpa en stil från dokumentet på en strukturerad dokumenttagg.
// 1 - Använd ett stilobjekt från dokumentets stilsamling:
Style quoteStyle = doc.Styles[StyleIdentifier.Quote];
StructuredDocumentTag sdtPlainText =
    new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Inline) { Style = quoteStyle };

// 2 - Referera till en stil i dokumentet efter namn:
StructuredDocumentTag sdtRichText =
    new StructuredDocumentTag(doc, SdtType.RichText, MarkupLevel.Inline) { StyleName = "Quote" };

builder.InsertNode(sdtPlainText);
builder.InsertNode(sdtRichText);

Assert.AreEqual(NodeType.StructuredDocumentTag, sdtPlainText.NodeType);

NodeCollection tags = doc.GetChildNodes(NodeType.StructuredDocumentTag, true);

foreach (Node node in tags)
{
    StructuredDocumentTag sdt = (StructuredDocumentTag)node;

    Console.WriteLine(sdt.WordOpenXMLMinimal);

    Assert.AreEqual(StyleIdentifier.Quote, sdt.Style.StyleIdentifier);
    Assert.AreEqual("Quote", sdt.StyleName);
}

Visar hur man fyller en tabell med data från en XML-del.

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

CustomXmlPart xmlPart = doc.CustomXmlParts.Add("Books",
    "<books>" +
        "<book>" +
            "<title>Everyday Italian</title>" +
            "<author>Giada De Laurentiis</author>" +
        "</book>" +
        "<book>" +
            "<title>The C Programming Language</title>" +
            "<author>Brian W. Kernighan, Dennis M. Ritchie</author>" +
        "</book>" +
        "<book>" +
            "<title>Learning XML</title>" +
            "<author>Erik T. Ray</author>" +
        "</book>" +
    "</books>");

// Skapa rubriker för data från XML-innehållet.
Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Title");
builder.InsertCell();
builder.Write("Author");
builder.EndRow();
builder.EndTable();

// Skapa en tabell med ett upprepande avsnitt inuti.
StructuredDocumentTag repeatingSectionSdt =
    new StructuredDocumentTag(doc, SdtType.RepeatingSection, MarkupLevel.Row);
repeatingSectionSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book", string.Empty);
table.AppendChild(repeatingSectionSdt);

// Lägg till ett repeterande avsnitt i det upprepade avsnittet och markera det som en rad.
// Den här tabellen kommer att ha en rad för varje element som vi kan hitta i XML-dokumentet
// med "/books[1]/book" XPath, av vilka det finns tre.
StructuredDocumentTag repeatingSectionItemSdt =
    new StructuredDocumentTag(doc, SdtType.RepeatingSectionItem, MarkupLevel.Row);
repeatingSectionSdt.AppendChild(repeatingSectionItemSdt);

Row row = new Row(doc);
repeatingSectionItemSdt.AppendChild(row);

// Mappa XML-data med skapade tabellceller för titeln och författaren till varje bok.
StructuredDocumentTag titleSdt =
    new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Cell);
titleSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book[1]/title[1]", string.Empty);
row.AppendChild(titleSdt);

StructuredDocumentTag authorSdt =
    new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Cell);
authorSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book[1]/author[1]", string.Empty);
row.AppendChild(authorSdt);

doc.Save(ArtifactsDir + "StructuredDocumentTag.RepeatingSectionItem.docx");

Se även