Public Function GenerateHtmlReport(ByVal ResultDataset As System.Data.DataSet) As String Implements IValidation.GenerateHtmlReport
Dim _StrBuil As New StringBuilder()
Dim clsHtmlBuilder As New HtmlBuilder()
Try
_StrBuil.AppendLine(Space(2) & clsHtmlBuilder.AddHr())
_StrBuil.AppendLine(Space(3) & clsHtmlBuilder.TextBig(ResultDataset.DataSetName))
_StrBuil.AppendLine(Space(5) & clsHtmlBuilder.AddLineBreak)
For Each _Tbl As DataTable In ResultDataset.Tables
If _Tbl Is Nothing OrElse _Tbl.Rows.Count = 0 Then Continue For
_StrBuil.AppendLine(Space(8) & clsHtmlBuilder.StartTable())
'set Table Header
'set Table Name
_StrBuil.AppendLine(Space(15) & clsHtmlBuilder.StartH4())
_StrBuil.AppendLine(Space(20) & _Tbl.TableName)
_StrBuil.AppendLine(Space(15) & clsHtmlBuilder.EndH4())
_StrBuil.AppendLine(Space(25) & clsHtmlBuilder.StartTableRow())
'set Column Name
For Each _col As DataColumn In _Tbl.Columns
_StrBuil.AppendLine(Space(35) & clsHtmlBuilder.StartTableHeader())
_StrBuil.AppendLine(Space(45) & _col.ColumnName)
_StrBuil.AppendLine(Space(35) & clsHtmlBuilder.EndTableHeader())
Next
_StrBuil.AppendLine(Space(25) & clsHtmlBuilder.EndTableRow())
'set Table Rows
For Each _dr As DataRow In _Tbl.Rows
_StrBuil.AppendLine(Space(25) & clsHtmlBuilder.StartTableRow())
For Each _col As DataColumn In _Tbl.Columns
If (Space(45) & _col.ColumnName = "Result") Then
_StrBuil.AppendLine(Space(35) & clsHtmlBuilder.StartTableCell())
Else
_StrBuil.AppendLine(Space(35) & clsHtmlBuilder.StartTableCell())
End If
_StrBuil.AppendLine(Space(45) & _dr(_col.ColumnName).ToString())
_StrBuil.AppendLine(Space(35) & clsHtmlBuilder.EndTableCell())
Next
_StrBuil.AppendLine(Space(25) & clsHtmlBuilder.EndTableRow())
Next
_StrBuil.AppendLine(Space(8) & clsHtmlBuilder.EndTable())
Next
_StrBuil.AppendLine(Space(5) & clsHtmlBuilder.AddLineBreak)
_StrBuil.AppendLine(Space(2) & clsHtmlBuilder.AddHr())
Catch ex As Exception
clsCommon.writeErrorLog("Error in Report Generation", "RuleSet2", "GenerateHtmlReport")
Throw ex
End Try
Return _StrBuil.ToString()
End Function
End Class
souce code :
<td nowrap = "nowrap">
4F0B52DC0001
</td>
<td nowrap = "nowrap">
C006411
</td>
<td nowrap = "nowrap">
Christiansen
</td>
<td nowrap = "nowrap">
Cathy
</td>
<td nowrap = "nowrap">
19570406
</td>
<td nowrap = "nowrap">
</td>
Do you mean that you want the following?
Try this:
(Use Append instead of AppendLine)
If you try asking a clearer question, you may get a more relevant answerer.
EDIT:
In response to your comment, you can remove the gap between the last (empty) table cell by checking to make sure that the “attribute” value is not blank or null. The line of code that’s causing your problems is:
This will print a line of text (with a new line character at the end) whether or not
_dr(_col.ColumnName)represents a non-null/non-blank value. Wrap this satement if an if-block that ensures it is only executed if_dr(_col.ColumnName)is not null and not blank. You can use.Trim()to remove white-space from the value andString.IsNullOrEmpty()to make sure that there’s a non-blank value represented by the string.EDIT:
For more information, please see the following links:
Think about what you want to accomplish, then write it down as a series of steps (maybe on paper first, then in code). If you cannot do that, then you cannot program (HINT: Almost anyone can program).