Io ho aggirato l'ostacolo eseguendo una copia della gridview in un nuovo oggetto definito pubblico:
PUBLIC GriStampMov AS Object
-------- bla bla bla -----------------
GriStampMov = GridStmp
iTRgStampa = iRgGriStamp 'ultima riga di dettaglio
RANDOMIZE
pdf = NEW Reportpdf("Portrait", "mm", "A5")
pdf.Open()
pdf.AliasNbPages()
pdf.Data
pdf.Output(User.Home & "/ContFamStampe", FALSE)
-------- bla bla bla -----------------
PUBLIC FUNCTION Data() 'corpo di una pagina
DIM i AS Integer
DIM iTotRg AS Integer
'---------------------------------------------------------
ME.AddPage()
ME.SetFillColor(192, 192, 192)
ME.SetLineWidth(0.2)
ME.Line(10, 10, 200, 10)
ME.SetLineWidth(0.1)
ME.SetX(0)
ME.SetY(50)
ME.Ln()
'--------------------------- Prepara riga di testa della griglia -----------------------------------------
ME.SetFont("courier", "B", 8)
ME.Cell(10, 35, FMain.GriStampMov.Columns[1].text, TRUE, 1, "C", TRUE)
ME.Cell(10, 370, FMain.GriStampMov.Columns[2].text, TRUE, 1, "C", TRUE)
ME.Cell(10, 500, FMain.GriStampMov.Columns[3].text, TRUE, 1, "C", TRUE)
ME.Cell(10, 580, FMain.GriStampMov.Columns[4].text, TRUE, 1, "C", TRUE)
ME.Ln()
'-----------------
'--------------------------- Prepara righe di dettaglio della griglia -----------------------------------------
ME.SetFont("courier", "", 8)
iTotRg = FMain.iTRgStampa
FOR i = 1 TO iTotRg
ME.Cell(10, 5, FMain.GriStampMov[i, 0].text, TRUE, 1, "R", TRUE)
ME.Cell(10, 35, FMain.GriStampMov[i, 1].text, TRUE, 1, "L", TRUE)
ME.Cell(10, 370, FMain.GriStampMov[i, 1].text, TRUE, 1, "L", TRUE)
ME.Cell(10, 500, FMain.GriStampMov[i, 2].text, TRUE, 1, "R", TRUE)
ME.Cell(10, 580, FMain.GriStampMov[i, 3].text, TRUE, 1, "R", TRUE)
ME.Ln()
NEXT
END
L'ampiezza (param.w) è puramente indicativa, in quanto non mi sono ancora reso conto come regolarmi, quindi ti prego di non tenerne conto. Così facendo il file pdf è stato creato, ma, alla sua prima vita, presenta 128 pagine tutte uguali cioè con solo rettanglo della riga di testata della gridview. Ci devo lavorare un pò su.
Ciao.