如何以编程方式详细说明节的重定位。

2020-09-06 19:39发布

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

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


报告的各个部分如下。

名称:ReportHeaderSection1,种类:ReportHeader
名称:PageHeaderSection1,种类:PageHeader
名称:DetailSection1,种类:详细
名称: DetailSection6,种类:详细
名称:DetailSection2,种类:详细
名称:DetailSection7,种类:详细
名称:DetailSection8,种类:详细
名称:DetailSection9,种类:详细
名称: DetailSection10,种类:Detail
名称:ReportFooterSection1,种类:ReportFooter
名称:PageFooterSection1,种类:PageFooter

我想使用程序8,9,7,10或8,10,9,7或7,8,10,9来移动第7,8,9,10节...
我使用WPF ,C#、. NET Framework 13.0,2000.0的Crystal Reports

有可能吗?

谢谢。

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

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


报告的各个部分如下。

名称:ReportHeaderSection1,种类:ReportHeader
名称:PageHeaderSection1,种类:PageHeader
名称:DetailSection1,种类:详细
名称: DetailSection6,种类:详细
名称:DetailSection2,种类:详细
名称:DetailSection7,种类:详细
名称:DetailSection8,种类:详细
名称:DetailSection9,种类:详细
名称: DetailSection10,种类:Detail
名称:ReportFooterSection1,种类:ReportFooter
名称:PageFooterSection1,种类:PageFooter

我想使用程序8,9,7,10或8,10,9,7或7,8,10,9来移动第7,8,9,10节...
我使用WPF ,C#、. NET Framework 13.0,2000.0的Crystal Reports

有可能吗?

谢谢。

付费偷看设置
发送
1条回答
宇峰Kouji
1楼 · 2020-09-06 20:27.采纳回答

13.0.2000.0是框架版本,直到SP 21之后才更改,这里从现在开始为13.0.3500.0:

https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

我没有执行此操作的任何特定代码,但这应该可以帮助您入门。

您要做的是克隆每个Detail节,删除每个节,然后使用.Add()按所需顺序添加它们,记住删除索引更改的每个节。 这是Group的一些代码,因此只需将其更改为Detail:

 foreach(rptClientDoc.DataDefController.DataDefinition.Groups中的CrystalDecisions.ReportAppServer.DataDefModel.Group resultField)
 {
     textBox1 = resultField.ConditionField.FormulaForm.ToString();
     btnReportObjects.Text + ="主组:" + textBox1;
    //由于某种原因.Text被隐藏
    //btnReportObjects.Text + =" \ n" +(动态)resultField.ConditionField.ToString();
     btnReportObjects.AppendText("'End'\ n");
     ++ flcnt;
     btnCount.Text = flcnt.ToString();
                     
     ISCRAreas GrAreas = rptClientDoc.ReportDefController.ReportDefinition.Areas;
     foreach(格拉斯地区的ISCRArea地区)
     {
         if(area.Kind == CrAreaSectionKindEnum.crAreaSectionKindGroupHeader || area.Kind == CrAreaSectionKindEnum.crAreaSectionKindGroupFooter)
         {
             foreach(CrystalDecisions.ReportAppServer.ReportDefModel.Section crSectName在area.Sections中)
             {
                 if(area.Kind == CrAreaSectionKindEnum.crAreaSectionKindGroupHeader || area.Kind == CrAreaSectionKindEnum.crAreaSectionKindGroupFooter)
                 {
                     yyy = area.Sections.Count;

                     如果(flcnt == 2)
                     {
                         MessageBox.Show(crSectName.Name.ToString());
                         rptClientDoc.DataDefController.GroupController.Remove(resultField);
                        //CrystalDecisions.ReportAppServer.ReportDefModel.Section rasSection;
                        //rptClientDoc.ReportDefController.ReportDefinition.GroupHeaderArea[1].Sections.Remove(0);
                                            

 

一周热门 更多>