Tabel rendering via komponent giver fejl
Får fejl ved en table rendering med komponenten asppdf.com. Dette giver virkelig hovedbrud. Princippet fungere perfekt i Asp og skulle også fungere perfekt i Net, ja det er opbygget efter et C# eksempel (http://www.asppdf.com/manual_07.html).Invalid RowFrom and/or RowTo values
med henvisning til linien
nLastRow = objPage.Canvas.DrawTable(objTable, objParam)
Hele koden ser således ud:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack = "False" Then
' Create pdf document
Dim objPdf As IPdfManager = New PdfManager
Dim objDoc As IPdfDocument = objPdf.CreateDocument(Missing.Value)
Dim objParam As IPdfParam = objPdf.CreateParam(Missing.Value)
Dim objTextParam As IPdfParam = objPdf.CreateParam(Missing.Value)
' Create table
Dim objTable As IPdfTable = objDoc.CreateTable("width=500; height=20; Rows=1; Cols=2; Border=1; CellSpacing=-1; cellpadding=2 ")
objTable.Font = objDoc.Fonts("Helvetica", Missing.Value)
' Create width of cells
Dim objHeaderRow As IPdfRow = objTable.Rows(1)
objHeaderRow.Cells(1).Width = 10
objHeaderRow.Cells(2).Width = 490
'Create 1 row
Dim Content1 As IPdfRow = objTable.Rows(1)
With Content1
.Cells(2).AddText("Demo pdf table", "html=true,size=20; expand=true; alignment=center")
End With
Dim objPage As IPdfPage = objDoc.Pages.Add(596, 842, Missing.Value)
' make rows
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
SubDemoTxt(objPage, objDoc, objTable)
objParam.Clear()
objParam("x").Value = (objPage.Width - objTable.Width) / 2
objParam("y").Value = objPage.Height - 75
objParam("MaxHeight").Value = 750
Dim nLastRow As Integer
Dim nFirstRow As Integer = 2
While True
nLastRow = objPage.Canvas.DrawTable(objTable, objParam)
If nLastRow >= objTable.Rows.Count Then
' break
End If
objPage = objPage.NextPage
objParam.Add("RowTo=1; RowFrom=1")
objParam("RowFrom1").Value = nLastRow + 1
nFirstRow = nLastRow + 1
End While
'objPage.Canvas.DrawTable(objTable, "x=50, y=770") ' tabel genereres uden rendering - det viker
' make pdf fil as http - streaming
objDoc.SaveHttp("attachment;filename=demo_" & Now() & ".pdf", Missing.Value)
End If
End Sub
' Sum that makes rows with demo txt
Sub SubDemoTxt(ByVal PdfPageNumber As IPdfPage, ByVal objDoc As IPdfDocument, ByVal objTable As IPdfTable)
Dim demotxt As String = "Duis pretium. Nam eu sem. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Donec venenatis. Phasellus massa pede, dapibus vitae, vulputate at, fringilla vel, ligula."
objTable.Font = objDoc.Fonts("Helvetica", Missing.Value)
Dim objRow As IPdfRow = objTable.Rows.Add(20, Missing.Value)
objRow.Cells(1).BgColor = &H3B5982
objRow.Cells(2).AddText(demotxt.ToString, "html=true,size=12; expand=true", objTable.Font)
objRow.Cells(1).BgColor = &H3B5982
End Sub
????.-) karsten_larsen