Row

Row class

Представляет строку таблицы.

Чтобы узнать больше, посетитеРабота с таблицами документальная статья.

public class Row : CompositeNode

Конструкторы

ИмяОписание
Row(DocumentBase)Инициализирует новый экземплярRow класс.

Характеристики

ИмяОписание
Cells { get; }Предоставляет типизированный доступ кCell дочерние узлы строки.
Count { get; }Получает количество непосредственных потомков этого узла.
CustomNodeId { get; set; }Указывает пользовательский идентификатор узла.
virtual Document { get; }Получает документ, к которому принадлежит этот узел.
FirstCell { get; }Возвращает первыйCell в строке.
FirstChild { get; }Получает первый дочерний элемент узла.
HasChildNodes { get; }Возвратистинный если у этого узла есть дочерние узлы.
override IsComposite { get; }Возвратистинный так как этот узел может иметь дочерние узлы.
IsFirstRow { get; }True, если это первая строка в таблице; в противном случае false.
IsLastRow { get; }True, если это последняя строка в таблице; в противном случае false.
LastCell { get; }Возвращает последнийCell в строке.
LastChild { get; }Получает последний дочерний элемент узла.
NextRow { get; }Получает следующийRow узел.
NextSibling { get; }Получает узел, следующий сразу за данным узлом.
override NodeType { get; }ВозвратRow .
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentTable { get; }Возвращает непосредственную родительскую таблицу строки.
PreviousRow { get; }Получает предыдущийRow узел.
PreviousSibling { get; }Получает узел, непосредственно предшествующий данному узлу.
Range { get; }ВозвращаетRangeобъект, представляющий часть документа, содержащуюся в этом узле.
RowFormat { get; }Предоставляет доступ к свойствам форматирования строки.

Методы

ИмяОписание
override Accept(DocumentVisitor)Принимает посетителя.
override AcceptEnd(DocumentVisitor)Принимает посетителя для посещения конца ряда.
override AcceptStart(DocumentVisitor)Принимает посетителя для посещения начала строки.
AppendChild<T>(T)Добавляет указанный узел в конец списка дочерних узлов для данного узла.
Clone(bool)Создает дубликат узла.
CreateNavigator()Создает навигатор, который можно использовать для перемещения и чтения узлов.
EnsureMinimum()ЕслиRow не имеет ячеек, создает и добавляет однуCell .
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
GetChild(NodeType, int, bool)Возвращает N-й дочерний узел, соответствующий указанному типу.
GetChildNodes(NodeType, bool)Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу.
GetEnumerator()Обеспечивает поддержку для каждой итерации стиля по дочерним узлам этого узла.
override GetText()Получает текст всех ячеек в этой строке, включая символ конца строки.
IndexOf(Node)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter<T>(T, Node)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore<T>(T, Node)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
PrependChild<T>(T)Добавляет указанный узел в начало списка дочерних узлов для данного узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
Remove()Удаляет себя из родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveChild<T>(T)Удаляет указанный дочерний узел.
RemoveSmartTags()Удаляет всеSmartTag узлы-потомки текущего узла.
SelectNodes(string)Выбирает список узлов, соответствующих выражению XPath.
SelectSingleNode(string)Выбирает первыйNode что соответствует выражению XPath.
ToString(SaveFormat)Экспортирует содержимое узла в строку указанного формата.
ToString(SaveOptions)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.

Примечания

Row может быть только ребенкомTable.

Row может содержать один или несколькоCell узлы.

Минимально допустимая строка должна иметь хотя бы одинCell.

Примеры

Показывает, как создать таблицу.

Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);

// Таблицы содержат строки, которые содержат ячейки, которые могут иметь абзацы
// с типичными элементами, такими как ряды, фигуры и даже другие таблицы.
// Вызов метода "EnsureMinimum" для таблицы гарантирует, что
// таблица имеет как минимум одну строку, ячейку и абзац.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);

Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);

Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);

// Добавляем текст в первую ячейку первой строки таблицы.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);

doc.Save(ArtifactsDir + "Table.CreateTable.docx");

Показывает, как выполнить итерацию по всем таблицам в документе и распечатать содержимое каждой ячейки.

Document doc = new Document(MyDir + "Tables.docx");
TableCollection tables = doc.FirstSection.Body.Tables;

Assert.AreEqual(2, tables.ToArray().Length);

for (int i = 0; i < tables.Count; i++)
{
    Console.WriteLine($"Start of Table {i}");

    RowCollection rows = tables[i].Rows;

    // Мы можем использовать метод «ToArray» для коллекции строк, чтобы клонировать ее в массив.
    Assert.AreEqual(rows, rows.ToArray());
    Assert.AreNotSame(rows, rows.ToArray());

    for (int j = 0; j < rows.Count; j++)
    {
        Console.WriteLine($"\tStart of Row {j}");

        CellCollection cells = rows[j].Cells;

        // Мы можем использовать метод «ToArray» для коллекции ячеек, чтобы клонировать ее в массив.
        Assert.AreEqual(cells, cells.ToArray());
        Assert.AreNotSame(cells, cells.ToArray());

        for (int k = 0; k < cells.Count; k++)
        {
            string cellText = cells[k].ToString(SaveFormat.Text).Trim();
            Console.WriteLine($"\t\tContents of Cell:{k} = \"{cellText}\"");
        }

        Console.WriteLine($"\tEnd of Row {j}");
    }

    Console.WriteLine($"End of Table {i}\n");
}

Показывает, как построить вложенную таблицу без использования конструктора документов.

public void CreateNestedTable()
{
    Document doc = new Document();

    // Создаем внешнюю таблицу с тремя строками и четырьмя столбцами, а затем добавляем ее в документ.
    Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
    doc.FirstSection.Body.AppendChild(outerTable);

    // Создаем еще одну таблицу с двумя строками и двумя столбцами, а затем вставляем ее в первую ячейку первой таблицы.
    Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
    outerTable.FirstRow.FirstCell.AppendChild(innerTable);

    doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}

/// <summary>
/// Создает новую таблицу в документе с заданными размерами и текстом в каждой ячейке.
/// </summary>
private static Table CreateTable(Document doc, int rowCount, int cellCount, string cellText)
{
    Table table = new Table(doc);

    for (int rowId = 1; rowId <= rowCount; rowId++)
    {
        Row row = new Row(doc);
        table.AppendChild(row);

        for (int cellId = 1; cellId <= cellCount; cellId++)
        {
            Cell cell = new Cell(doc);
            cell.AppendChild(new Paragraph(doc));
            cell.FirstParagraph.AppendChild(new Run(doc, cellText));

            row.AppendChild(cell);
        }
    }

    // Вы можете использовать свойства «Заголовок» и «Описание», чтобы добавить заголовок и описание к вашей таблице соответственно.
    // Таблица должна иметь хотя бы одну строку, прежде чем мы сможем использовать эти свойства.
    // Эти свойства имеют значение для документов .docx, соответствующих стандарту ISO/IEC 29500 (см. класс OoxmlCompliance).
    // Если мы сохраняем документ в форматах, предшествующих ISO/IEC 29500, Microsoft Word игнорирует эти свойства.
    table.Title = "Aspose table title";
    table.Description = "Aspose table description";

    return table;
}

Смотрите также