Hi Again,
Here is the modified code
Private Sub BuildLabTable(ByVal node As Node, ByVal programId As Integer)
Dim oProgramServiceProvider As daProgServiceProvider = New daProgServiceProvider
Dim dsl As DataSet
Dim drl As DataRow
Dim oServiceProvider As daServiceProvider = New daServiceProvider
Dim docBuilder As DocumentBuilder
Dim iLabNumber As Integer = 0
Dim iTableColumn As Integer = 0
'Get list of lab for a given program
dsl = oProgramServiceProvider.GetProgramServiceProviderListByProgramIdOrderedDS(daServiceType.Laboratory, programId, "")
'Init docBuilder with the document
docBuilder = New DocumentBuilder(node.Document)
'Move to the bookmark we want
docBuilder.MoveTo(node)
'Start a new table. This table will have 3 columns. Column 1 and 3 will have lab information
'and column 2 will be used for spacing between column 1 and 3
docBuilder.StartTable()
'For each lab
For Each drl In dsl.Tables(0).Rows
'Get detail info for the lab
oServiceProvider.GetServiceProvider(drl("service_provider_id"))
iLabNumber += 1
'Set the column number to the colunm we will be writing the lab data to.
'If lab number is odd then we will be writing to column 1 else we will be writing to column 3
iTableColumn = iLabNumber Mod 2
If iTableColumn = 1 Then
iTableColumn = 1
Else
iTableColumn = 3
End If
'Inset a new table cell and write the lab data into it
docBuilder.InsertCell()
If oServiceProvider.Name.Length > 0 Then
docBuilder.Write(oServiceProvider.Name + Environment.NewLine())
End If
If oServiceProvider.AddressLine1.Length > 0 Then
docBuilder.Write(oServiceProvider.AddressLine1 + Environment.NewLine())
End If
If oServiceProvider.AddressLine2.Length > 0 Then
docBuilder.Write(oServiceProvider.AddressLine2 + Environment.NewLine())
End If
'If we have just written to column 1 then insert a blank column. This is column 2 spaceing
'If we have just written to column 3 then end this row
If iTableColumn = 1 Then
docBuilder.InsertCell()
Else
docBuilder.EndRow()
End If
Next
'If we have just written to column 1 then we need to complete the row by inserting blank cell
'for column 3 and ending the row.
If iTableColumn = 1 Then
docBuilder.InsertCell()
docBuilder.EndRow()
End If
'Finish off the table
docBuilder.EndTable()
End Sub