点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
当我更改文本对象内的段落文本元素的文本时,我丢失了该文本对象内所有字段的文本解释(RTF文本,HTML文本)。
实际上,当我读取段落字段元素的文本格式时,无论我在设计模式下进行了什么设置,我总会得到" crTextFormatStandardText"。 并且所做的任何修改均不适用。
我正在测试13.0.26版。
使用ReportDefModel = CrystalDecisions.ReportAppServer.ReportDefModel; 私人无效测试() { CrystalDecisions.CrystalReports.Engine.ReportDocument reportDocument = crystalReportViewer1.ReportSource作为CrystalDecisions.CrystalReports.Engine.ReportDocument; foreach(reportDocument.ReportClientDocument.ReportDefController.ReportObjectController.GetReportObjectsByKind(ReportDefModel.CrReportObjectKindEnum.crReportObjectKindText)中的ReportDefModel.ISCRReportObject reportObject) { ReportDefModel.TextObject textObject = reportObject作为ReportDefModel.TextObject; foreach(textObject.Paragraphs中的ReportDefModel.Paragraph段落) foreach(在段落.ParagraphElements中为ReportDefModel.ParagraphElement段落元素) 开关(paragraphElement.Kind) { 案例ReportDefModel.CrParagraphElementKindEnum.crParagraphElementKindText: ReportDefModel.ParagraphTextElement段落文本元素=段落元素为ReportDefModel.ParagraphTextElement; 段落TextElement.Text ="新文本"; /** *这会使我失去文本对象内所有字段对象的文本解释(RTF文本,HTML文本) */ reportDocument.ReportClientDocument.ReportDefController.ReportObjectController.Modify(textObject,textObject); 打破; 案例ReportDefModel.CrParagraphElementKindEnum.crParagraphElementKindField: ReportDefModel.ParagraphFieldElement段落字段元素=段落元素为ReportDefModel.ParagraphFieldElement; /** *在设计模式下,我已将所有带有文本解释的字段对象设置为HTML文本,但是 *段落字段元素。字段格式。字符串格式。文本格式返回crTextFormatStandardText *我将设置为crTextFormatHTMLText */ 段落FieldElement.FieldFormat.StringFormat.TextFormat = ReportDefModel.CrTextFormatEnum.crTextFormatHTMLText; /** *这会使我失去文本对象内所有字段对象的文本解释(RTF文本,HTML文本) *我已将其设置为crTextFormatHTMLText,但没有任何效果 */ reportDocument.ReportClientDocument.ReportDefController.ReportObjectController.Modify(textObject,textObject); 打破; } } }
是否可以在不丢失其他ParagraphFieldElement的文本解释的情况下更改ParagraphTextElement内部的文本?
此致
Marco Monteiro
我已将此问题升级,应该在SP 28中修复,此时尚未设置发布日期。
我不确定您对"字符串对象"的含义,但我认为答案是 问题在代码中:
我要更改文本元素,而不是字段元素,也不是公式。
那么,为什么字段元素会丢失文本解释?
感谢Marco,
不过还是不清楚,您想将文本附加到String对象还是 更改公式或更改粗体显示吗?
我看到您正在将文本附加到其中包含转义序列的公式字段中,因此您应该编辑公式而不是段落。
Don
感谢您为我提供的答案,但是您也应该阅读我的答案。 我说过我不会更改公式,也不想更改它。
关于API,它之所以有效,是因为我可以替换我想替换的东西,即TextObject内的ParagraphTextElement。
以该示例为例,其中{formula}设置为HTML的文本解释:
它打印:
我要更改为此:
所以,我这样做:
它起作用了!API起作用了,我得到了想要的东西,但是{formula} 失去文字解释! 它打印:您是说这是正常现象吗?
是要替换" HTML"还是在公式字段文本后面添加内容?
不确定API是否旨在执行您的操作
使用公式控制器,您可以按以下方式添加文本:
现在我们正在共同努力!
我阅读了David Hilton的建议并将其应用于KBA中,这就是我的期望:
但这就是我得到的:
如何设置文本解释?
我尝试了您的代码,这就是我所期望的:
但这就是我得到的:
您的代码违反了KBA中的解决方案。 在David Hilton的评论中,他说:"这些ParagraphElements是您实际上需要处理的元素。这些元素可能是字段浏览器中的简单文本或字段。" 但是,您将所有内容组合到一个文本元素中,使其解释为正常测试。
啊,所以您要更改文本对象中的文本,对吗?
< p>我会尝试更多的事情。一周热门 更多>