如何在运行时阅读报表的FieldObject TextFormat属性

2020-09-06 14:47发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我需要知道(在 vb.net 中)绑定的字段对象是否具有属性'TextFormat "设置为" crStandardText"或" crRTFText"。

我无法在运行时读取此属性。 有人能帮我吗? 谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我需要知道(在 vb.net 中)绑定的字段对象是否具有属性'TextFormat "设置为" crStandardText"或" crRTFText"。

我无法在运行时读取此属性。 有人能帮我吗? 谢谢

付费偷看设置
发送
4条回答
95年老男孩
1楼 · 2020-09-06 15:25.采纳回答

我在VB代码中没有它,但是Google可以帮助您找到可以将C#转换为VB的网站。

您需要使用RAS来获取信息

ReportClientDocument对象使用它来确定类型:

 CrystalDecisions.ReportAppServer.ReportDefModel.ReportObjects rptObjs;
 rptObjs = rptClientDoc.ReportDefController.ReportObjectController.GetAllReportObjects();

 foreach(rptObjs中的CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject rptObj1)
 {
     开关(rptObj1.Kind)
     {
         案例CrReportObjectKindEnum.crReportObjectKindField:
             CrystalDecisions.ReportAppServer.ReportDefModel.FieldObject fldObj1;
             fldObj1 =(CrystalDecisions.ReportAppServer.ReportDefModel.FieldObject)rptObj1;

             btnReportObjects.Text + ="名称:" + fldObj1.Name.ToString();
             btnReportObjects.Text + =" \ n类型:" + rptObj1.Kind.ToString()+"->" + fldObj1.DataSourceName.ToString()+" \ n";
                            
             if(fldObj1.FieldFormat.StringFormat.TextFormat == CrystalDecisions.ReportAppServer.ReportDefModel.CrTextFormatEnum.crTextFormatRTFText)
                 btnReportObjects.Text + =" \ n RTF:= true";
             如果(fldObj1.FieldFormat.StringFormat.TextFormat == CrystalDecisions.ReportAppServer.ReportDefModel.CrTextFormatEnum.crTextFormatHTMLText)
                 btnReportObjects.Text + =" \ n HTML:= true";
             如果(fldObj1.FieldFormat.StringFormat.TextFormat == CrystalDecisions.ReportAppServer.ReportDefModel.CrTextFormatEnum.crTextFormatStandardText)
                 btnReportObjects.Text + =" \ n标准文本:= true";

 ... 

嗨,唐,

感谢您的快速回复,但我有一个问题。 我已在程序中输入了以下内容,因此无法在该程序中使用ReportAppServer:

CrystalDecisions..CrystalReports.Engine,CrystalDecisions..ReportSource,CrystalDecisions.shared,CrystalDecisions.Windows.forms

和导入(使用)CrystalDecisions.ReportAppServer会导致模块其他部分出现许多错误。 是否可以不使用ReportAppServer获得相同的结果? 谢谢

me_for_i
3楼-- · 2020-09-06 15:13

不,您需要将某些模块设置为不导入,这应该可以解决问题。

另一个问题是您可能需要完全限定 之所以调用,是因为Engine和RAS具有相同的API。 您必须更新您的限定词...

Haoba3210
4楼-- · 2020-09-06 15:32

好,非常感谢

一周热门 更多>