C# 根据区域设置设置设置RDLC格式编号

C# 根据区域设置设置设置RDLC格式编号,c#,asp.net,rdlc,C#,Asp.net,Rdlc,我在我的网页上使用RDLC报告将一些数据显示为本地报告。一切正常,但数字的格式没有根据我的区域设置(sl SI)进行设置,我也没有办法解决这个问题 例如。我有一个有价值的文本框: =第一个(字段!Count.Value,“PhoneCallsDS”) 其中“Count”为整数,格式为: 数 使用区域格式=是 小数位=0 使用1000分隔符(.)=是 在填充报告之前的代码中,我设置了区域性: CultureInfo cInfo = new CultureInfo(“sl-SI”,

我在我的网页上使用RDLC报告将一些数据显示为本地报告。一切正常,但数字的格式没有根据我的区域设置(sl SI)进行设置,我也没有办法解决这个问题

例如。我有一个有价值的文本框:

  • =第一个(字段!Count.Value,“PhoneCallsDS”)
其中“Count”为整数,格式为:

  • 使用区域格式=是
  • 小数位=0
  • 使用1000分隔符(.)=是
在填充报告之前的代码中,我设置了区域性:

    CultureInfo cInfo = new CultureInfo(“sl-SI”, false);
    Thread.CurrentThread.CurrentCulture = cInfo;
    Thread.CurrentThread.CurrentUICulture = cInfo; 
在此之后,我希望文本框值的格式为sl SI区域性所要求的2.358,但为2358

有人知道我做错了什么吗


谢谢大家!

我找到了这个问题的解决方案,并想与社区讨论:

  • 转到RDLC报告
  • 单击报告字段(而不是内容)
  • 转到“属性”
  • 将“Language”属性设置为您的语言环境(在我的例子中是“sl SI”)
  • 就这些

    您可以通过编程方式将属性“Language”设置为等于具有所需语言环境值的报表参数


    Thak you…

    作为Cerkenvic伟大答案的补充:

    如果将报表的
    语言
    属性设置为以下表达式:

    =User!Language
    

    RDLC引擎将使用当前线程的区域设置,而无需实现和填充自定义报告参数。

    我为语言设置了表达式“=First(Fields!CultureName.Value,“QualerServiceOrder”)”并获得了下一个异常“用于“body”语言的表达式指的是一个字段。不能在报表语言表达式中使用字段。“