点击此处---> 群内免费提供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)
大家好,
我在VS和BOE的CR中找到了有关RTL的信息:
在Crystal Reports 2016 PAM中,当提及阿拉伯语,希伯来语,哈萨克语和乌克兰语的支持时,有以下注释:
"在使用Internet Explorer和Firefox时,仅在SAP Crystal Reports DHTML Viewer中受支持。"
https://www.sap.com/documents/2016 /04/3050374d-6a7c-0010-82c7-eda71af511fa.html
CR for VS不支持
Don
尝试将设置区域设置代码移到与Load()报告相同的例程中。
Don
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
这些数字是来自数据库还是静态文本?
如果这些数字来自数据库,则CR无法将数据转换为
使用Oracle,您的数据库客户端也许可以做到这一点,我认为使用Language属性可以/可以翻译。
CR仅提供工具提示,并且可能 静态文本。
我将添加CRD标签,并查看报表设计中是否有人可以为您解决。
唐
一周热门 更多>