【问题标题】:How do I find out if my string has overflowed to the next line如何确定我的字符串是否溢出到下一行
【发布时间】:2012-01-15 09:52:22
【问题描述】:

我在一个长的串联字符串中添加了一些内容(我知道这很可怕)。

我必须显示数据表中的 3 列数据,我的代码如下所示。

        If Not IsNothing(MyBase.EligibilityQuestions) Then
            Dim sw As System.IO.StringWriter
            For Each row As DataRow In MyBase.EligibilityQuestions.Rows
                sw = New System.IO.StringWriter

                For Each col As DataColumn In MyBase.EligibilityQuestions.Columns
                    sw.Write(row(col).ToString() & ", ")
                Next
                OverFlowEndorsments &= sw.ToString()
                OverFlowEndorsments &= nl
            Next
        End If

我的问题是我的文本溢出到新行并且不与它所属列中的文本对齐,我正在为 DynamicPDF 编写这个,所以我无法插入 HTML,我'试图让它看起来像一张桌子(所有列都排成一行)。

每行中的字符数不足,我不知道该怎么办。

【问题讨论】:

  • 你能把你最终得到的东西粘贴在这里吗?同样在 for each 循环中,为什​​么要创建一个新的 StringWriter 是否可以将 sw = New System.IO.StringWriter 移到每个循环的第一个循环之外,VB.NET 是否像我们在 C# .NET 中使用的那样使用 StringBuilder 如果是这样,请创建一个该对象的实例并使用 append 方法,完成后将 stringbuilder.ToString() 内容写入 StringWriter

标签: .net vb.net pdf-generation dynamic-data


【解决方案1】:

我认为你有两个可能的问题:

首先,您正在写出相当于 CSV 而不是固定宽度的内容。因此,根据使用的数据,每行的输出都会有所不同。尝试使用“PadLeft”或“PadRight”切换到输出固定宽度的字符串,以便根据需要插入空格。

其次,您的数据可能对于它进入的空间来说太大了,在这种情况下,您可能需要重新格式化您的 PDF 目标或以某种方式截断进入的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多