我已将多行数据添加到要写入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蚀刻”
,而不是
'交货前检查已完成
已安装轮锁
VIN玻璃蚀刻vin蚀刻'
用于显示从HTML的“数据表”列接收到的多行数据的代码的HTML表部分将是什么。
答案 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)