Windows 10阿拉伯文化上的Crystal Reports 2016中未显示阿拉伯数字

2020-09-21 15:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨 我在我的一个应用程序中遇到...

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

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


我在我的一个应用程序中遇到了一个问题,那就是在具有阿拉伯文化的Windows 10上的2016年水晶报告中显示阿拉伯数字。

同一应用程序在具有阿拉伯文化的Windows 7上运行正常。 我不知道这是Windows还是Crystal报表问题,要弄清楚它,我下载了最新版本的Crystal Report 2016并在此版本上创建了报表,当我从Crystal报表设计器查看该报表时,令我惊讶的是 根据系统的阿拉伯文化向我展示了预期的阿拉伯格式数字。

但是当我使用Visual Studio在 vb.net 中设计的应用程序中使用同一报告时, 那时的2008 SP1,同一报表在运行时以英文显示数字。 我想知道为什么相同的报告会更改通过应用程序运行时以英文显示数字的行为,如果我再次在CR Designer中打开相同的报告,然后以阿拉伯语显示数字

请找到相同的附件的屏幕截图,以便更好地理解该问题。

对此将提供任何帮助。

考虑

Arshad

(73.2 kB)
10条回答
CJones
2020-09-21 16:06

Dear Don

非常感谢您的答复,尽管我尝试了您建议的方法,即在加载报告之前将语言环境移动了。

但是结果是相同的,但数字仍以英文显示。 下面列出了代码的一种方法。 即使我确保我们正在运行最新版本13.0.2000.0


命名空间WindowsFormsApplication7
{
公共局部类Form1:Form
{
公共Form1()
{
InitializeComponent();
CultureInfo ci = new CultureInfo(" ar-SA");
//设置数字替换以避免替换
ci.NumberFormat.DigitSubstitution = DigitShapes.NativeNational;
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread .CurrentUICulture = ci;
}

私有void Form1_Load(对象发送方,EventArgs e)
{
crystalReportViewer1.SetProductLocale(0x401); //等同于沙特语言环境

ReportDocument obj = new ReportDocument();
obj.Load(@" C:\ Users \ AMSR-PC \ Documents \ visual studio 2013 \ Projects \ WindowsFormsApplication7 \ WindowsFormsApplication7 \ CrystalReport1.rpt");

crystalReportViewer1.ReportSource = obj;
crystalReportViewer1.RightToLeft = RightToLeft.Yes;
}

}
}

请随函附上以英文显示数字的报告的屏幕截图。 除了报告查看器,我们还可以在计算机上看到阿拉伯数字。

考虑

Arshad

一周热门 更多>