天道酬勤,学无止境

Crystal Reports 中的富文本框(Rich text box in Crystal Reports)

问题

我在水晶报表中创建了富文本框来显示产品描述。 一切都正常显示,但不会超过 65534 个字符。 我需要显示超过65534,所以请任何人可以帮助我使用是否有其他控件如富文本框来显示数据。

回答1

这是 Crystal Reports 的一个限制。 您的选择

  1. 在您的查询中,将字段拆分为每行的多个 65534 个字符长度的字段(问题是生成 1、2、3、4、5 的字段数量……可能是未知数量)
  2. 在您的查询中,将行拆分为多行并按产品分组,每个新行都有一个 65534 字符长度的字段。 例子是

    产品 ID、产品名称、产品描述

    1、P1、【65534个字符】

    1、P1、【更多文字】

    2、P2、【65534个字符】

    2、P2、【65534个字符】

    2、P2、【更多文字】

  3. 最后将描述导出到文件并通过报表中的超链接或 OLE 对象插入文件。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Crystal Reports中的垂直文本对齐?(Vertical text alignment in Crystal Reports?)
    问题 在Visual Studio(2008)附带的Crystal Reports编辑器中,是否可以将文本对齐到文本框的中心而不是顶部? 我在任何地方都找不到该选项,并且Google搜索并不令人鼓舞,但我只是无法使自己相信它们不会包含这种明显的功能。 回答1 我找不到水晶报告的垂直排列。 潜在的解决方法是对换行进行编程。 回答2 我找不到在标签内垂直对齐文本的选项,但是您可以在节内垂直对齐标签。 使用左边界上的水平辅助线调整对齐方式。 您可能需要右键单击该准则,然后取消选中“对齐网格”以获取更精确的定位。 回答3 您可以使用字符串来实现此目的,因为当您进入“格式字段”菜单时,将看到一个段落选项卡而不是数字选项卡。 要使您的数字成为字符串,您应该将其格式化为公式字段: chr(13) + chr(10) + totext(mynumber,0) 然后在“格式字段”菜单中选择-行距: 0.2的倍数 您可能需要尝试使用0.2值,直到找到恰好位于框中间的数字(即带回车符的字符串)。 干杯,寒冷 回答4 垂直对齐与编程换行符。 一个单元格的算法: 计算数据中的字符数( iTextLen )。 在单元格( iLineNum )中查找文本行数。 凭经验计算。 查找以字符为单位的iLineLen ( iLineLen )。 凭经验计算。 通过公式(iLineNum — 1) — (iTextLen
  • Rich text box in Crystal Reports
    I have created rich text box in crystal reports for displaying product description. Everything is displaying properly but it is not taking more than 65534 characters. I need to display more than 65534, so please any one can help me to use is there any other control like richtext box to display the data.
  • 更改不会保存在 Crystal Reports 报告中(Changes don't get saved in Crystal Reports report)
    问题 我最近开始使用水晶报表。 已经能够创建报告,并且大部分都完成了。 但突然间我开始丢失在文本框对象内所做的任何更改。 我编辑一个文本框,保存报告并关闭它。 然后我重新打开它以查看更改没有保留。 我重新启动了 Visual Studio 甚至机器,但没有任何帮助。 我使用 VS 2012。有没有人经历过这样的事情? 回答1 在报告预览中查看是否选中了“在报告中保存数据”复选框。 如果是这样,请尝试取消选中此复选框。 保存崩溃 Visual Studio 界面的报告给我带来了一些麻烦。 回答2 事实上,我找到了问题的原因。 当我尝试保存更改而焦点位于已编辑对象上时会发生这种情况,在本例中为文本框。 但是如果我在保存之前点击其他地方(为了失去对编辑文本框的关注),那么问题就解决了。 很高兴找到它。 回答3 欢迎来到俱乐部 :) 在某些情况下,Crystal Reports 的行为可能非常奇怪。 例如,有时当我在 Windows XP 中编辑报告文件时,它会导致界面崩溃并在我保存文件时损坏文件。 同样的问题不会出现在 Windows 7 中。但是在 Windows 7 中也会发生其他奇怪的事情。 我会建议你 始终应用可用于 Crystal Reports Engine 的最新 Service Pack。 保存时始终检查星号是否从打开的报告文件中消失(有时当您点击保存时它不会消失
  • 比较SQL Server Reporting Services和Crystal Reports [关闭](Compare SQL Server Reporting Services to Crystal Reports [closed])
    问题 从目前的情况来看,这个问题不适合我们的问答形式。 我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。 如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。 该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。 它目前不接受新的答案或互动。 使用哪种Crystal Reports和SSRS(SQL Server Reporting Services)更好? 回答1 一方面,Crystal Reports充斥着大量昂贵且夸张的驴子便便,另一方面,SSRS实际上履行了CR营销所做的所有承诺-而且它是免费的。 我对CR的蔑视源于多年不得不使用这种可怕的东西。 当我可以向您提供诸如Clubing the Crystal Dodo或Crystal Reports Sucks Donkey Dork之类的参考文献时,确实没有必要详细说明CR的完全可恶性(虽然不那么有趣,但更具有文化素养并带有技术细节)。 自由?! 是的。 您甚至不必购买MS SQL Server即可获得它-您可以使用Advanced Services安装SQL Express。 可通过下载获得该文件,其中包括SQL Server Reporting Services。 尽管SQL Express可以支持的并发用户数受到限制
  • 如何将文本对齐到 Crystal Reports 中的两端?(How to align a text to justified in Crystal Reports?)
    问题 我有一个像下面这样的文字。 ABC agrees to provide programming services for ABI ‎("‎CLIENT‎") ‎as described below under "‎Programming Services‎" ‎for <u>which CLIENT is to pay</u> a rate described in Attachment A. 这段文字应该有下划线,并且整个文字都应该是合理的。 我使用了TextInterpretation作为HTMLText的公式字段。 文本带有下划线,但没有正确对齐。 我尝试使用TextObject ,这是合理的,但所需的文本没有下划线。 请告诉我如何在文本下划线和对齐。 回答1 使用 Visual Studio 2010 在 Crystal Report 中的 Justify 解决方案 **在格式编辑器中右键单击您的文本对象 段落 -> 水平对齐 -> 对齐 -> 两端对齐** 回答2 您可以在带有 html 标签的公式(在文本解释中设置 HTML 文本)中执行此操作。 例如: '<div align="justify">El nombre es <b>primordial</b> de saber...</div>' 我这样做是因为我需要一个公式,其中包含一些粗体和两端对齐的文字。
  • Crystal Reports 2008支持哪些HTML标记(What HTML tags are supported in Crystal Reports 2008)
    问题 我知道,通过右键单击Crystal Reports中的一些文本字段,您可以告诉Crystal将该报告呈现为HTML (请参见下面的屏幕截图)。 我想知道这些字段中可用的标记是什么,以及它们有什么CSS /样式功能。 谢谢! 右键单击一个字段,然后选择“设置字段格式” 单击段落标签和文本解释组合框。 回答1 我在论坛帖子中找到了这个。 不确定其有效性,但似乎合法。 看来,Crystal Reports仅支持一小部分HTML标签和属性。 支持的标签是: html body div (导致段落中断) tr (仅引起段落中断;不保留表的列结构) span font p (导致段落中断) br (导致段落中断) h1 (导致段落中断,使字体加粗,默认大小加倍) h2 (导致段落中断,使字体加粗并为默认大小的1.5倍) h3 (导致段落中断,使字体加粗,默认字体为9/8) h4 (导致段落中断,使字体变为粗体) h5 (导致段落中断,使字体加粗,默认字体为5/6) h6 (导致段落中断,使字体加粗,默认字体为5/8) center big (将字体大小增加2点) small (如果字体大小为8磅或更大,则将字体减小2磅) b i s strike u 支持的属性是: align face size color style font-family font-size font-style
  • 在c#中执行水晶报告时无效的TLV记录(Invalid TLV record when executing crystal reports in c#)
    问题 我正在创建一个 C# 程序,它将显示使用水晶报告创建的报告。 我已经完成了报告。 但是,当我尝试在 C# 中查看报告时,它提示我一个错误,即“无效的 TLV 记录”。 这可能是什么原因? 请帮忙。 谢谢。 代码: private void reportViewer1_Load(object sender, EventArgs e) { CRAXDRT.Report rpt = new CRAXDRT.Report(); CRAXDRT.Application app = new CRAXDRT.Application(); rpt = app.OpenReport(Application.StartupPath + "\\Reports\\Pay2Final.rpt", null); } 错误信息: 回答1 试试这个 由于以下原因,可能会出现“无效的 TLV 记录”错误消息: 客户端计算机上缺少运行时文件。 检查与 Crystal Reports 一起安装的开发人员运行时帮助文件 (Runtime.chm) 以获取所需运行时文件的列表。 'UFManager.dll' 不会分发到客户端计算机。 确保它位于“C:\Program Files\Common Files\Crystal Decisions\2.0\bin”文件夹中。 Crqe.dll 未在客户端计算机上注册。
  • 是否可以在 Crystal Reports 中显示文本文件的内容(Is it possible to show the contents of a text file in Crystal Reports)
    问题 我有一个包含绝对引用文本文件列表的水晶报告。 每个正文行中引用了一个文本文件。 例如 line1 c:\file1.txt line2 c:\file2.txt 有没有办法在Crystal中显示这些文件的内容? 即我希望每个水晶体线显示引用文本文件中的文本。 我正在使用带有非标准数据库连接器 (dataflex) 的 Crystal Reports 11。 回答1 您需要设置文件 dsn(在 XP 中,它位于控制面板/管理工具/数据源 (ODBC) 下),然后将数据源的文件 dsn(Microsoft 文本驱动程序)用作 ODBC(RDO) 连接。 我在我的上设置了这个测试场景,如下所示: **File 1** column1 1row1 1row2 1row3 **File 2** column1 2row1 2row2 2row3 我将文件 dsn 设置为指向 c 驱动器,并在数据源屏幕中将 file1.txt 和 file2.txt 添加到选定的表中。 然后最简单的事情就是清除表格的链接,以便它拉出每一行。 它会警告您有多个起点。 我通常不推荐这样做,但它在这种情况下会起作用,而且由于它不是从数据库中报告,所以它可能不是世界末日。 如果您忽略起点消息,然后将字段添加到报告中,当您运行它时,您应该得到以下输出: 1row1 2row1 1row1 2row2 1row1
  • 在水晶报表中将数值转换为英文文本(Converting numeric value to English Text in Crystal Reports)
    问题 我有一个使用 Crystal Reports 打印发票的应用程序。 该应用程序安装在具有不同区域设置的 PC 上。 现在,如果我使用 Crystal Report 的 TOWORDS() 函数,结果字符串将以用户 PC 指定的语言显示。 例如,如果中国用户打印出发票,Crystal Report 将显示中文数字字符串。 (这不是我们想要的。) 显然,更改用户 PC 中的区域设置不是我们的选择。 我的问题是如何强制 Crystal Reports 将数值转换为英文文本? 回答1 检查这些。 您可以尝试有关此主题的大量信息。 如何在水晶报表中实现本地化 本地化水晶报表 语言的 Crystal 报告设置
  • 如何在图片上方画一条线?(How to draw a line above a picture?)
    问题 在水晶报表中,如何在图片上方显示一条线? 我目前使用的是 Crystal Reports 8.5。 我在报告中使用了 jpeg 图像,图像标题部分设置为“底层以下部分”。 我在图像标题部分上方添加了另一个标题,绘制了线条,然后给出了“隐藏以下部分”的选项,但该线条未显示在图片上方。 如何添加将显示在图片上方的线条? 回答1 如果我理解您的问题,您想在 Crystal Report 中的图像中添加一行。 不幸的是,您将无法使用 Crystal Reports 执行此操作。 您最好的选择是在图像上方画一条线。 如果线条放置有问题,请在包含图像的部分上方添加另一个部分。 回答2 这里有一个开发人员提供的解决方法,使用文本框:http://scn.sap.com/thread/1916479 插入一个文本对象,不输入任何内容。 更改大小(高度与线宽匹配)和背景(背景颜色与线颜色匹配)。 右键单击文本对象并选择移动 | 到前面。 然后“线”将在图片的顶部。 不幸的是,使用 Crystal Reports 2008,这只允许我将文本框缩小到一定高度(0.042 英寸),这对于 1 像素的线来说仍然太大了。 回答3 回复有点晚,但是这个 CodeProject 答案有效。 我遇到了同样的问题,这个解决方法成功了。 我在这里引用答案。 创建 2 个单独的报告。 第一个报告将是主报告
  • 如何以编程方式将 Crystal Reports 公式从 Crystal 语法更改为基本语法 - 在 Visual Studio 2005 中(How to programmatically change a Crystal Reports formula from Crystal Syntax to Basic Syntax - in Visual Studio 2005)
    问题 我想以编程方式更改大量报告中的公式,就像在这个问题中一样,但我还需要更改 Crystal Syntax 和 Basic Syntax 之间的公式。 我在对象模型中看不到任何方法可以做到这一点。 是否可以? 即我有一个名为“Period”的公式,该公式已存在于大量报告中,目前已在 Crystal Syntax 中定义。 我想将公式设置为基本语法并提供公式的更新文本。 我不需要将当前定义从水晶自动转换为基本; 我已经有了新的公式文本。 如果我只是循环浏览所有报告,打开它们,然后设置 FormulaFieldDefinition 的 Text 属性,则公式仍设置为“Crystal Syntax”,并且不会正确评估。 目前我唯一的解决方案是手动打开每个报告,编辑公式,将下拉菜单从 Crystal Syntax 更改为 Basic Syntax。 回答1 这个 http://msdn.microsoft.com/en-us/library/ms225743%28VS.80%29.aspx 说水晶语法和基本语法支持公式 - 它不会自动接受它们吗? 或者您想在这两种语法之间进行转换? 回答2 我相信并且@CodeByMoonlight 确认这不可用。 因此,对于和我一样有很多报告要更新的人来说:享受这个手动过程,希望你永远不必改回来! 回答3 您可以像这样遍历报表对象模型。
  • 如何将 Textbox1 值设置到 Cystal 报告的公式字段中(How To Set Textbox1 Value Into Formula Field Of Cystal Reports)
    问题 我想将 textbox1 值设置到水晶报表的公式字段中,并将相同的值用于水晶报表。 假设我的 Textbox1 值为“12000” ,我想将其设置为公式字段并将其用于水晶报表。 是否可以?。 是的然后如何?。 注意: textbox1 位于 CrystalReportviewer1 的顶部。 解决方案 非常简单,只需创建报告类的实例并在您的 Crystalreportviewer 源中设置 textBox 值如下: PLCrystReport plc = new PLCrystReport(); plc.DataDefinition.FormulaFields["ttt"].Text = "" + textBox1.Text + ""; 首先,您必须在水晶报表中创建公式字段并设置上述代码,然后将公式字段复制到水晶报表中。 它将在公式字段中显示文本框的指定值。 注意 ["ttt"] 是公式字段名称。 提供到水晶报告中。 回答1 Dim RptForm As CrystalDecisions.CrystalReports.Engine.ReportDocument Dim T As CrystalDecisions.CrystalReports.Engine.TextObject RptForm = New MyCrystalReport() T = RptForm
  • Crystal Reports 中的条件求和(Conditional summation in Crystal Reports)
    问题 我有一些带有价格和数量的行,我希望只对数量 > 5 的价格求和 itemname price Qty ---------------------------------- apple 20 2 watermelon 10 3 bango 22 6 hashesh 3 9 鉴于上述数据,我想得到的总和是 22+3=25。 我如何写一个公式来做到这一点? 回答1 在数量一侧创建一个名为calculation的公式字段并输入以下文本: // {@calculation} If quantity>5 then price else 0 现在取{@calculation}的总和。 在报告中隐藏这两个细节。 取总和并放在所需列的页脚中。
  • 如果数据表中没有行,则取消“ Crystal Reports”部分(Suppress Crystal Reports section if there are no rows in a datatable)
    问题 我想隐瞒Crystal Report中的一个部分。 如果我正在使用的数据集中的特定表中有0行,则需要抑制它。 我该怎么做? 提供的“记录号”特殊字段似乎是报表中记录的内部计数,并且与基础数据表中的行无关。 我正在用C#创建报告,但是我不能从代码中隐藏该部分(它不适合项目结构)-我必须能够从报告本身中进行操作。 有关表肯定会传递给数据集中的报表,但它包含0行。 必须在报表本身中建立一种方法。 谁能给我指出正确的方向? 回答1 在Crystal Reports设计器中,查看您的节的属性,并且应该有一个“抑制”选项,您可以为其指定一个公式以返回适当的布尔值。 然后,您可以在该公式中使用Count()函数,并且(我相信)可以将数据集的名称传递给Count()函数以获取该数据集中的行数。 大约3个月前,我在一份复杂的报告中做了同样的事情,但是由于工作变动,我再也无法访问该报告了,很抱歉,我不能再具体了,但是希望这为您提供了一个起点。 刚有了一个快速的Google-试试这个。 回答2 如果该部分仅包含数据库字段而没有文本字段,则可以在该部分的“部分导出”(右键单击部分)中使用设置“禁止空白部分”。 或者,您可以在该部分的“部分导出”的“抑制”中使用以下公式: IsNull({table.field}) “ {table.field}”是数据集中的字段之一。 希望这可以帮助。 回答3 转到
  • Crystal Reports-“您请求的报告需要更多信息”(Crystal Reports - “The report you requested requires further information”)
    问题 我有一些使用Crystal创建的Crystal Reports(在Visual Studio外部),现在已加载到VS项目中。 在预览报告之前,我在报告和所有子报告中设置了这样的报告数据库信息。 var connectionInfo = new ConnectionInfo(); connectionInfo.ServerName = "192.168.x.xxx"; connectionInfo.DatabaseName = "xxxx"; connectionInfo.Password = "xxxx"; connectionInfo.UserID = "xxxx"; connectionInfo.Type = ConnectionInfoType.SQL; connectionInfo.IntegratedSecurity = false; TableLogOnInfo logon = table.LogOnInfo; table.LogOnInfo.ConnectionInfo = connectionInfo; table.ApplyLogOnInfo(logon); 最初对其进行预览时,该报告正确显示,但是当我转到报告预览的下一页时,收到消息“您请求的报告需要更多信息”,并再次提示您输入数据库登录信息。 在此输入后,将不再提示我。
  • 如何在没有紧密链接的数据库连接的情况下使用Crystal Reports?(How to use Crystal Reports without a tightly-linked DB connection?)
    问题 我正在学习使用Crystal Reports(在VB 2005中)。 到目前为止,我所看到的大部分内容都涉及直接从数据库中抽取数据,如果这就是您要显示在报告中的全部内容,那就很好了。 我的数据库有很多外键,所以我试图保持理智地在应用程序中显示实际信息的方法是向我的对象添加额外的成员,这些成员包含外键表示的字符串(描述)。 喜欢: Class AssetIdentifier Private ID_AssetIdentifier As Integer Private AssetID As Integer Private IdentifierTypeID As Integer Private IdentifierType As String Private IdentifierText As String ... 在这里,IdentifierTypeID是一个外键,我在另一个表中查找该值并将其放在IdentifierType中。 这样,我就可以在对象中拥有文本描述,并且可以将其与其他内容一起使用。 因此,关于我的Crystal Reports问题。 Crystal Reports似乎可以很容易地连接到特定表中的记录(尤其是与Experts相连),但这就是您所获得的。 理想情况下,我想列出我的课程列表,例如 Dim assetIdentifiers as New List(Of
  • 在运行时动态更改 Crystal Report 中的图像(Dynamically change an image in a Crystal Report at runtime)
    问题 我正在使用 VisualStudio 2005 中包含的 Crystal Reports。我想通过构建图像文件的路径,然后在报告上显示该图像来更改运行时显示在报告上的图像。 有没有人能够使用此版本的 Crystal Reports 完成此操作? 回答1 在工作中,我们通过将图像作为数据表的字段推送到报告中来做到这一点。 它不漂亮,但它完成了工作。 当然,此解决方案要求您通过 DataSet 将数据推送到报表中。 我一直觉得这充其量只是一个黑客。 我真的希望图像参数能够与 CR 一起使用。 编辑:值得注意的是,如果您将水晶报告绑定到普通的旧对象,您希望为报告公开 byte[] 属性以将其视为图像。 回答2 我终于使用 Josh 在此处发布的byte[]提示找到了解决方案。 如果您使用普通的旧 C# 对象来填充 Crystal Reports,则此解决方案适用(请参阅 http://www.aspfree.com/c/a/C-Sharp/Crystal-Reports-for-Visual-Studio-2005-in -CSharp/ 有关此方法的信息)。 在您的 C# 类中,插入以下代码: private static byte[] m_Bitmap = null; public byte[] Bitmap { get { FileStream fs = new
  • System.MissingMethodException Method Not Found Crystal Reports(System.MissingMethodException Method Not Found Crystal Reports)
    问题 尝试更新应用程序时,我在客户端工作站上遇到以下异常: System.MissingMethodException: Method not found: 'Void CrystalDecisions.Windows.Forms.CrystalReportViewer.set_CachedPageNumberPerDoc(Int32)'. at OpusRw.CrystalReports.CryRepView.InitializeComponent() at OpusRw.CrystalReports.CryRepView..ctor() in c:\cli_code\OPUSfin\OPUSfin\CrystalReports\CryRepView.cs:line 21 at OPUSfin.SubForms.PrintScreen.btInsertion_Click(Object sender, EventArgs e) in c:\cli_code\OPUSfin\OPUSfin\SubForms\PrintScreen.cs:line 55 但是,当我在本地调试代码时,我没有问题。 (更新甚至没有改变有问题的代码)。 我最初认为这是一个 .dll 错误,并尝试清理解决方案,删除并重新添加 .dll 无济于事。 我还可以尝试哪些其他方法来解决该问题? 回答1 我在 vb
  • What HTML tags are supported in Crystal Reports 2008
    I know by right clicking some text fields in Crystal Reports you can tell Crystal to render that report as HTML (See screenshots below). I'm wondering what the possible tags available in those fields is and what CSS/styling capabilities there are. Thanks! Right click a field and select "Format Field" Click the Paragraph Tag and the Text Interpretation combo box.
  • Crystal Reports - 值不能为空。 参数名称:窗口(Crystal Reports - Value cannot be null. Parameter name: window)
    问题 我最近在尝试通过对话框将 Crystal 报表表单加载到我的 WPF 应用程序中时遇到了一个异常错误,该报表将显示为正在加载几秒钟,然后抛出一个错误,指出“值不能为空。参数名称:窗口” 这让我很困惑,据我所知,水晶报表不使用名为 window.open 的参数。 这是我的代码: 带有CrystalReportsViewer简单窗口 <Window x:Class="Client.Views.ReportsWindowView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:my="clr-namespace:SAPBusinessObjects.WPF.Viewer;assembly=SAPBusinessObjects.WPF.Viewer" Title="ReportsWindowView" Height="300" Width="300" Loaded="Window_Loaded"> <Grid> <my:CrystalReportsViewer ShowOpenFileButton="True" Grid.Column="1" x:Name=