将枚举设置为" NoSortDirection"后,返回了无效的groupSortDirection

2020-08-26 08:16发布

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

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


您好,我们正在创建一个应用程序,以覆盖报告中的分组和排序。 该应用程序将删除所有排序和组字段(使用ReportAppServer.Controllers.SortController.Remove),然后再添加所有排序。 我们想将排序设置为" NoSortDirection"。 但是,如果将其设置为CrSortDirectionEnum.crSortDirectionNoSortOrder,则会失败,并显示"无有效的SortDirection"。
为什么?

受保护的void SetSorts(排序排序,SortController控制器)
   {
   foreach(排序排序)
   {
   sort.Direction = CrSortDirectionEnum.crSortDirectionNoSortOrder;
   controller.Add(-1,sort);
   }
   } 

我是否使用ModifySortDirection函数,而不是删除和添加排序,而是出现一个异常,提示"我不允许更改SortField信息"

为什么我可以设置所有其他枚举值,但不能设置NoSortOrder?
我的错误在哪里?

我将不胜感激。

谢谢
杰西卡

正在使用:
-用于Visual Studio 2017的SAP Crystal Reports
-Crystal Reports版本:13.0.21.2533
-我正在使用in proc RAS API

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

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


您好,我们正在创建一个应用程序,以覆盖报告中的分组和排序。 该应用程序将删除所有排序和组字段(使用ReportAppServer.Controllers.SortController.Remove),然后再添加所有排序。 我们想将排序设置为" NoSortDirection"。 但是,如果将其设置为CrSortDirectionEnum.crSortDirectionNoSortOrder,则会失败,并显示"无有效的SortDirection"。
为什么?

受保护的void SetSorts(排序排序,SortController控制器)
   {
   foreach(排序排序)
   {
   sort.Direction = CrSortDirectionEnum.crSortDirectionNoSortOrder;
   controller.Add(-1,sort);
   }
   } 

我是否使用ModifySortDirection函数,而不是删除和添加排序,而是出现一个异常,提示"我不允许更改SortField信息"

为什么我可以设置所有其他枚举值,但不能设置NoSortOrder?
我的错误在哪里?

我将不胜感激。

谢谢
杰西卡

正在使用:
-用于Visual Studio 2017的SAP Crystal Reports
-Crystal Reports版本:13.0.21.2533
-我正在使用in proc RAS API

付费偷看设置
发送
3条回答
打个大熊猫
1楼 · 2020-08-26 08:57.采纳回答

杰西卡,你好

这是设计使然,如果您不希望排序,则不要设置它。

我在测试时也注意到了相同的情况

 Field f =(Field)rptClientDoc.DataDefController.DataDefinition.ResultFields.FindField(" TestDon",CrystalDecisions.ReportAppServer.DataDefModel.CrFieldDisplayNameTypeEnum.crFieldDisplayNameName,CrystalDecisions.ReportAppServer.DataDefModel.CeLocale.ceLocaleEnglish);
 如果(rptClientDoc.DataDefController.SortController.CanSortOn(f))
 {
     排序mySort = new Sort();
     mySort.Direction = CrSortDirectionEnum.crSortDirectionAscendingOrder;
     mySort.SortField = f;
     MessageBox.Show(rptClientDoc.DataDefController.SortController.CanSortOn(f).ToString());
     rptClientDoc.DataDefController.SortController.Add(-1,mySort);

    //test =(ISCRSort)boFieldObject;
    //test.Direction = CrSortDirectionEnum.crSortDirectionDescendingOrder;

    //尝试
    //{
    //如果(Formula.Name ==" TestDon")
    //{
    //MysortController.add(CrSortDirectionEnum.crSortDirectionNoSortOrder,test);
    ////如果没有排序,则删除排序并保存报告
    ////rptClientDoc.SaveAs("don2.rpt",@" D:\ Atest \ swati \ CrystalTest_3501213_2013",0);
    //}
    //}
    //catch(异常例外)
    //{
    //btnSQLStatement.Text =" ERROR:" + ex.Message;
    //}
 }
 其他
 {}
 

因为有解决方法,所以我从不要求R&D对其进行调查...

Don

Bunny_CDM
2楼-- · 2020-08-26 08:56

Hi Don,

我们在数据库中对数据进行排序,我们不需要其他排序顺序。
这就是我要将其设置为" noSortDirection"的原因。

您说有解决方法? 如何运作?

Jessica

lukcy2020
3楼-- · 2020-08-26 09:02

嗨!

我有同样的问题。 还是没有解决办法?

我们正在使用Crystal Reports CRforVS13SP26_0-10010309.EXE。

谢谢!

一周热门 更多>