我有一个包含传感器数据的表。有些传感器的长名称不适合单元格。 我想在长传感器名称的末尾添加三个点(例如文本溢出: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);
}
答案 0 :(得分:0)
类似的东西应该起作用...
var text = "testtesttesttesttest";
var maxLength = 7;
var displayname = text;
if (text.Length > maxLength)
{
displayname = text.Substring(0, maxLength) + "...";
}
考虑到您自己没有发布任何代码,我只能提供一些逻辑。
我在这里所做的只是获取真实的价值(将其插入文本中)。
声明您希望字段中文本的最大长度为(maxLength)。
创建一个存储变量以用于名称的操作,而不会丢失原始数据(以防您保留该原始数据)。
然后检查文本是否长于最大长度,并用“ ...”替换所有太长的文本。
然后,您可以将“显示名称”返回到您希望其进入的任何字段。
这很可能不是您想要的,但它确实可以回答您的问题。