【问题标题】:render html in a rich text box in active reports software在活动报告软件的富文本框中呈现 html
【发布时间】:2013-08-10 18:44:04
【问题描述】:

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

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

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

a 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 字段

注释:

  • 直接在脚本中绑定不起作用, IE。 rtxBox.Html = pt.Fields["CONT_ID"].ToString();产生一些奇怪的元数据字符串
  • 仅数据字段绑定方法不起作用 (它将作为文本产生)
  • p 标签有一些额外的间距。可能值得对它们进行正则表达式或以某种方式提供一些格式控制。

【问题讨论】:

    标签: richtextbox activereports


    【解决方案1】:

    您要查找的实际属性是the Html Property。您还可以使用step-by-step walkthrough here 将文件加载到该控件中。

    我假设您使用的是部分报告而不是页面报告。

    要在绑定报表中使用来自数据库的 HTML,您应该能够使用the DataField property of the RichTextBox control(在设计时将其设置为相应数据字段的名称)。但是,我注意到this "Render HTML tags in DB in ActiveReport pdf or HTML" article 这意味着它不起作用,因为它以编程方式从数据库加载 HTML。两者之一应该可以工作。

    【讨论】:

    • 嗯,它并没有死,因为我实际上是从数据库字段(oracle nclob)中获取数据,每个细节都重复(而不是从文件中)。如果我将其设置为标签或文本框的数据字段,我可以将其呈现为字符串,但它不会对字符串进行编码
    • 您需要使用 RichTextBox 控件而不是字段/文本框或标签。我更新了我的答案。
    • 好的,看起来合法。一旦我确认该方法有效,我将标记为答案。
    • @user1778606 如果您有任何问题或遇到任何问题,请告诉我。
    • 因此,作为结论,我无法保留 HTML 代码中的样式(字体名称、大小、颜色、下划线...)??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 2010-12-29
    • 2013-06-06
    • 2011-12-20
    相关资源
    最近更新 更多