在vb.net的html表中将多行数据表列转换为多行

时间:2019-01-23 13:22:28

标签: vb.net

我已将多行数据添加到要写入HTML的数据表的“已执行服务”列中。

Dim row = dt.NewRow()
row("Date") = Display_Date
row("Mileage") = Odometer
    For t1 As Integer = 0 To returnData.serviceHistory.displayRecords(d1).text.Count - 1
         Text(t1) = returnData.serviceHistory.displayRecords(d1).text(t1).ToString
         t_str = t_str + Text(t1) + vbNewLine
         row("Service Performed") = t_str
    Next
dt.Rows.Add(row)

HTML部分:

Private Function GetBody(ByVal dTable As DataTable) As String
        Dim dString As New StringBuilder

        dString.Append("<tbody>")

        For Each dRow As DataRow In dTable.Rows
            dString.Append("<tr align='center' valign='middle'>")
            For dCount As Integer = 0 To dTable.Columns.Count - 1
                If dCount = 0 Then
                    dString.AppendFormat("<td>{0}</td>", dRow(dCount).ToShortDateString())
                ElseIf dCount = 2 Then
                    dString.AppendFormat("<td align='left'>{0}</td>", dRow(dCount))
                Else
                    dString.AppendFormat("<td>{0}</td>", dRow(dCount))
                End If

            Next
            dString.Append("</tr>")
        Next
        dString.Append("</tbody>")

        Return dString.ToString()
    End Function

我得到的“服务执行”列的输出为

“交货前检查已完成,已安装车轮锁,并已在VIN玻璃蚀刻板上蚀刻了vin蚀刻”

HTML

,而不是

'交货前检查已完成
  已安装轮锁
  VIN玻璃蚀刻vin蚀刻'

用于显示从HTML的“数据表”列接收到的多行数据的代码的HTML表部分将是什么。

1 个答案:

答案 0 :(得分:0)

您应将代码中的vbNewLine替换为<br>,因为您将在html表中显示DataTable值。然后,您的字符串将按需要显示在单独的行中。

您唯一需要做的更改是在下面的代码的注释行中。

Dim row = dt.NewRow()
row("Date") = Display_Date
row("Mileage") = Odometer
    For t1 As Integer = 0 To returnData.serviceHistory.displayRecords(d1).text.Count - 1
         Text(t1) = returnData.serviceHistory.displayRecords(d1).text(t1).ToString
         t_str = t_str + Text(t1) & "<br>" ''replace vbNewLine with <br>
         row("Service Performed") = t_str
    Next
dt.Rows.Add(row)