Выравнивания таблиц TPPDF - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь создать таблицу на основе массива данных "tableData".

Количество строк будет различным.

Для создания таблицы необходимо сопоставить данные «выравнивания» с данными.

Я не могу создать массив только с переменными .left, .center или .right для соответствия данным. Они не являются жалами или царапинами и т. Д.

Так, как я могу установить строки выравнивания равными строкам данных?

do {
        try table.generateCells(
            data:tableData,
            alignments: [
                [.center, .right, .right, .right],
                [.center, .right, .right, .right],
                [.center, .right, .right, .right],
                [.center, .right, .right, .right]
            ]
        )

    }

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

https://github.com/Techprimate/TPPDF

Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Я создатель TPPDF.

Во время разработки я разработал таблицы для работы, аналогичной популярным программам для обработки текста, таким как Microsoft Office Word или LibreOffice, где вы можете изменить выравнивание для каждой ячейки.

На данный момент невозможно установить выравнивание по умолчанию, поэтому самый простой способ - сопоставить ваши данные с выравниванием (как вы делали в своем примере кода).

Если вы хотите более короткий синтаксис, я могу предложить следующее:

let tableData: [[String]] = [...] // This is your nested data
let alignments = tableData.map { $0.map { _ in PDFTableCellAlignment.right }}

Мы всегда открыты для новых функций и улучшений, пожалуйста, не стесняйтесь создавать проблемы или даже улучшать реализацию со значением выравнивания по умолчанию и предлагать запрос на извлечение для Github .

0 голосов
/ 16 января 2019

Я думаю, что это работает. Может, у кого-то есть способ получше?

Настройка массива выравнивания с помощью «PDFTableCellAlignment» позволяет мне устанавливать переменные .right, .left, .center.

    var tableData = [[String]]()

    var align = [[PDFTableCellAlignment]]()

    for item in self.d!{

        let c = [ .... ]
        tableData.append(c)

        align.append([.right, .right, .right, .right])

    }

с нетерпением жду чужих мыслей.

спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...