2

我有一个带有基本 html 标记的字符串,我想将其放入富文本框中

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

我希望它像在浏览器中出现的那样呈现,即:

抗体

如何在活动报告 7 中执行此操作?根据http://www.datadynamics.com/forums/77664/ShowPost.aspx,richtextbox 支持这些标签。我是否必须指定一个属性以允许它呈现 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 属性(在设计时将其设置为相应数据字段的名称)。但是,我注意到这篇“在 ActiveReport pdf 或 HTML 中的 DB 中渲染 HTML 标记”文章 暗示这不起作用,因为它以编程方式从数据库加载 HTML。两者之一应该工作。

于 2013-08-11T20:40:54.683 回答