2

リッチテキストボックスに入れたい基本的なhtmlマークアップを含む文字列があります

 string ab  = @"<b> a b </b>"

ブラウザに表示されるようにレンダリングしたい:

ab

アクティブなレポート 7 でこれを行うにはどうすればよいですか? http://www.datadynamics.com/forums/77664/ShowPost.aspxによると、リッチテキスト ボックスはこれらのタグをサポートしています。HTML をレンダリングできるようにするには、プロパティを指定する必要がありますか? これにどのようにアプローチすればよいですか?

ありがとう、サム

詳細情報 (更新 8/11):

データベース フィールド (Oracle nclob) からデータをバインドしています。フィールドは詳細セクション内で繰り返されます (毎回異なる情報で)。

フィールドをテキストボックスまたはラベルに直接バインドすると、文字列がレンダリングされますが、html はエンコードされません

 <b> a b </b>

ただし、文字列をエンコードします。


ソリューションの概要

解決策(@activescott の提案による)

  • rtx をデータフィールドに直接バインドする
  • スクリプトでテキストを html に「再フォーマット」します

public void detail_Format() { rtxBox.Html = rtxBox.Text; }

結果: ある程度の html フォーマットで html フィールドをレンダリングします

ノート:

  • スクリプトで直接バインドしても機能しません。rtxBox.Html = pt.Fields["CONT_ID"].ToString(); いくつかの奇妙なメタデータ文字列を生成します
  • データフィールドのみのバインディング アプローチは機能しません (テキストとして生成されます)。
  • p タグで発生する余分なスペースがいくつかあります。それらを正規表現するか、なんらかのフォーマット制御を提供する価値があるかもしれません。
4

1 に答える 1

4

探している実際のプロパティはHtml Propertyです。こちら のステップバイステップのウォークスルーを使用して、そのコントロールにファイルをロードすることもできます。

ページ レポートではなく、セクション レポートを使用していると仮定します。

バインドされたレポートでデータベースの HTML を使用するには、RichTextBox コントロールの DataField プロパティを使用できる必要があります(設計時に対応する Data フィールドの名前に設定します)。ただし、この「Render HTML tags in DB in ActiveReport pdf or HTML」という記事に気付きました。これ は、プログラムでデータベースから HTML をロードするため、機能しないことを意味します。2つのうちの1つが機能するはずです。

于 2013-08-11T20:40:54.683 に答える