ITextSharp добавить три точки в конце слова - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть таблица с данными датчиков.Есть датчики с длинными именами, которые не вписываются в ячейку.Я хочу добавить три точки в конец длинных имен сенсоров (например, переполнение текста: многоточие в css).Я хочу сделать это гибким без жестко закодированных значений.Потому что в будущем количество столбцов может отличаться.Как мне это сделать?

Я создаю таблицу следующим образом:

var table = new PdfPTable(columns.Length);
        var widths = new List<float>();
        for (var i = 0; i < columns.Length; i++)
        {
            widths.Add(1f);
        }

        table.SetWidths(widths.ToArray());

И заполняю ее:

for (var i = 0; i < columns.Length; i++)
        {
            var cell = new PdfPCell(new Phrase(columns[i], tableDataFont));
            cell.UseAscender = true;
            cell.HorizontalAlignment = Element.ALIGN_CENTER;
            cell.VerticalAlignment = Element.ALIGN_MIDDLE;
            cell.BackgroundColor = new Color(204, 204, 204);
            cell.MinimumHeight = 20f;
            table.AddCell(cell);
        }

Sensor with long name

1 Ответ

0 голосов
/ 20 декабря 2018

Что-то вроде этого должно работать ...

    var text = "testtesttesttesttest";
    var maxLength = 7;
    var displayname = text;

    if (text.Length > maxLength)
    {
        displayname = text.Substring(0, maxLength) + "...";
    }

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

То, что я делаю здесь, этопросто возьмите реальное значение (вставьте его в текст).

Объявите максимальную длину, которую вы хотите, чтобы текст в ваших полях был (maxLength).

Создайте переменную хранения для манипулирования именем без потери исходных данных (на случай, если вы захотите сохранить это).

Затем проверьте, превышает ли текст максимальную длину, и замените все слишком длинное на «...».

Затем вы можете вернуть «displayname» в любое поле, в котором хотите, чтобы оно было.

Скорее всего, это не то, что вы ищете, но оно ответит на ваш вопрос так, как оно есть.сейчас.

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