Hallo,
um verschiedenste "vorgefertigte" Tabellenzeilen (Materialpositionszeile, Textzeile, Titelsummenzeile etc.) schnell einfügen zu können, sind diese per SaveToString zwischengespeichert.
Ich erhoffe mir dadurch einen schnelleren Tabellenaufbau.
Grundsätzlich funktioniert folgendes:
var
rtf:string;
begin
par := WPRichText1.FindTable('NAME');
if par = nil then
exit;
row := par.Rows[WPRichText1.ActiveParagraph.RowNr];
//diese Zeile testweise duplizieren, später liegen die Zeilen-RTF-Strings bereits vorgefertigt vor
rtf := row.SaveToString(true, 'WPT');
row := row.RowAppend;
if row <> nil then
row.LoadFromString(rtf,'WPT');
Alles anzeigen
Das sieht erst mal optisch korrekt aus, hat aber einen Haken:
Die letzten Spalten enthalten Berechnungsanweisungen ('left(1)+previous(1)' )
Diese sind in den kopierten Zeilen auch vorhanden ([wpShowParCalcNames, wpShowParCalcCommands]) doch in den Zellen steht "ERR" ab den neu eingefügten Zeilen bis zum Tabellenende.
Auf diese Berechnungen möchte ich nicht verzichten, die sind rasant schnell bei Tabellenänderungen, selbst bei 3000 Zeilen :-)))
Aber warum geht die Berechnung kaputt?
Irgendwas habe ich dabei übersehen?
Ciao
Stefan