tvsn2002 发表于 2016-10-27 14:14:28

根据查询数据设置表头内容

本帖最后由 Lenka.Guo 于 2016-10-27 17:17 编辑

你好,我有个做国际化的需求。我的报表按照国家分组,然后按照不同国家的语言显示Detail内容。Culture是datasource里的一个字段。



现在按照国家分组已经做好了,我现在不知道如何取得当前分组的culture。试过在groupheader的format事件里通过Fields("Culture")去取,但是好像顺序是乱的。请技术专家给点建议。谢谢!


我用的是这个类型的报表。

谢谢!

Lenka.Guo 发表于 2016-10-27 15:49:17

不好意思,不太理解您的需求。
您主要是想在一张区域报表中,根据用户使用的语言来筛选Detail区域的数据,也就是说假如,用户使用的是英语,则显示英国的订单数据,是吗?

tvsn2002 发表于 2016-10-27 19:38:17

不是筛选数据。是做好按国家的分组后,想得到每个分组对应的语言的信息。然后根据对应的语言信息给表头text属性赋值。

比如:假设数据源是这样


按国家分组后,想对每个分组做下面的事情:
string language = ? 这个是我想要得到的值,现在不知道怎么得到。
得到后给表头的label赋值
if (language == 中国)
orderIDLabel.text = 订单号
customerLabel.text = 客户
else if (language == 美国)
orderIDLabel.text = Order ID
customerLabel.text = Customer




Lenka.Guo 发表于 2016-10-28 10:49:00

tvsn2002 发表于 2016-10-27 19:38
不是筛选数据。是做好按国家的分组后,想得到每个分组对应的语言的信息。然后根据对应的语言信息给表头text ...

您可以通过脚本选项卡,调用System 方法来获取当前用户的系统语言:using System.Globalization;

public void ActiveReport_ReportStart()
{
string temp=        System.Globalization.CultureInfo.InstalledUICulture.NativeName;
        this.TextBox2.Text = temp;
}


页: [1]
查看完整版本: 根据查询数据设置表头内容