Erstellen einer rtf-Tabelle mit flexiblem Layou aus einer Datenquelle
Im vorliegenden Beispiel werden die Daten aus der Tabelle KDNPRG in einer Tabelle auf der Arbeitskarte dargestellt.
Es wird in der Variable cText ein html-Code abgelegt. Und dann mittels Standard-Funktion MemoHTMLToRTF eine rtf-Text daraus erstellt, welcher im Layout dargestellt werden kann.
CODE
| cText, oDM, oKDNPRG, oMemoBO |
oDM := createObject('TBeDbget'),
startseq
oKDNPRG := MygetTable(oDM, waKDNPRG, ),
oKDNPRG.IndexName := 'DAB210_ID',
DbScope(,oKDNPRG),
DbScope({DAB240:DAB210_ID},{DAB240:DAB210_ID},oKDNPRG),
cText := '',
if not noDS(oKDNPRG) then
cText := '<html><body><table border style="width:100%; border:#C10 thin ">'+crlf,
cText += '<tr><th width=20%>Prog. Nr.</th><th width=10%>Sp</th><th width=10%>EsM</th><th width=10%>G Sp</th><th>Kommentar</th></tr>'+crlf,
DbGoTop(oKDNPRG),
while not eof(oKDNPRG) do
cText += '<tr><td>'+oKDNPRG:PROGNR+'</td><td>'+oKDNPRG:SPANNMITT+'</td>',
cText += '<td>'+oKDNPRG:ESPAMASS+'</td><td>'+oKDNPRG:GEGESPANN+'</td>',
cText += '<td>'+oKDNPRG:MEMO+'</td></tr>'+crlf,
dbskip(1, oKDNPRG),
end,
cText += '<tr><td></td><td></td><td></td><td></td><td></td></tr>'+crlf,
cText += '<tr><td></td><td></td><td></td><td></td><td></td></tr>'+crlf,
ctext += '</table></body></html>',
oMemoBo := CreateObject('TBeMemoBo'),
startseq,
oMemoBo.MemoID := 74, // An ID mit z.B. E-Mail anpassen
cText := MemoHTMLToRTF(cText, oMemoBo.CbId), writeln(cText),
always,
DestroyObject(oMemoBo),
stopseq,
endif,
printvarval(printobject(report,"Programme"),cText),
always
destroyobject(oDM),
stopseq,
''