5

SQLフィールドにリッチテキストとして保存される文字列があるので、その前にたくさんの記号があります...

{\ rtf1 \ ansi \ ansicpg1252 \ deff0 \ deflang1033 {\ fonttbl {\ f0 \ fswiss \ fprq2 \ fcharset0 Calibri;} {\ f1 \ fnil \ fcharset0 Verdana;}} {\ colortbl; \ red0 \ green0 \ blue255;} \ viewkind4 \ uc1 \ pard \ sa200 \ sl276 \ slmult1 \ f0 \ fs22 Blah Blah Blah \ par

これをパラメータフィールドとしてCrystalReports11.5に渡すので、データ型は文字列です。次に、パラメータをレポートにドラッグして、まっすぐ上に表示しています。このためのフォーマット設定の段落タブでも、解釈はRTFに設定されます。

私の問題は、フォーマットタグを削除しているのに、テキストを台無しにしていることです。単語をランダムに文字化けさせ、文字「i」のような文字を単語にランダムに挿入します。また、他の単語の後ろにランダムな文字をいくつか配置し、それが理にかなっている場合は手動で入力されたように見せます。誰かがタイプライターでそれをタイプしたように、読めなくて太字になっています。

新しいテキストオブジェクトを設定し、その中にリッチテキストパラメータを入れて表示しようとしましたが、リッチテキストフォーマットタグが削除/実行されません。

何が得られますか?タグを削除するので、明らかにリッチテキストを実行できますが、単語に挿入されたランダムなテキストと、他の単語の上に乱雑なテキストがいくつか含まれている場合はどうなりますか?

4

1 に答える 1

1

残念ながら、私はまだ11.5を使用していませんが、これを試してみてください。

[フォーマットフィールド]>[段落]タブ>[テキストの解釈]>[RTFテキスト]

テキストが重なっている場合は、RTFテキストから次のコントロールセットを置き換えることができます。正しく動作し、重ならないようにする必要があります。

data = data.Replace(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\fnil\fcharset0 Verdana;}} {\colortbl ;\red0\green0\blue255;} \viewkind4\uc1\pard\sa200\sl276\slmult1\f0\fs22 Blah Blah Blah \par", string.Empty);
于 2011-09-16T08:13:40.570 に答える