2015-05-28 33 views
2

目前我使用N2格式这样格式化C#图表坐标轴使用的CultureInfo

chart.ChartAreas[0].AxisY.LabelStyle.Format = "{0:N2}"; 

我想达到什么样的设置我的图表的Y轴是N2采用印尼格式,我知道如何做到这一点的对象转换就像下面

sum.ToString("N2", CultureInfo.GetCultureInfo("id-ID")); 

如何格式化图表轴申请的CultureInfo?

+0

哪些图表组件,您正在使用?分享链接到它的文档 –

+0

我使用的图表组件从Visual Studio 2013本身,而不是第三方组件 –

回答

3

您可以使用图表的FormatNumber事件。

private readonly CultureInfo indonesiaCulture = CultureInfo.GetCultureInfo("id-ID"); 
void chart1_FormatNumber(object sender, FormatNumberEventArgs e) 
{ 
    if (e.ElementType == ChartElementType.AxisLabels) 
    { 
     e.LocalizedValue = e.Value.ToString("N2", indonesiaCulture); 
    } 
} 

或者您可以更改为Thread.CurrentUICulture UI线程和设定LabelStyle.Format属性。我没有测试过,我相信这也应该起作用。

+0

很好,效果很好,我已经接受你的答案,谢谢你 –

1

除了Sriram Sakthivel的回答。 您可以使用Format属性是这样的:

chart.ChartAreas[0].AxisY.LabelStyle.Format = "IndonesianNumericFormat"; 

void chart_FormatNumber(object sender, FormatNumberEventArgs e) 
{ 
    switch (e.Format) 
    { 
     case "IndonesianNumericFormat": 
      e.LocalizedValue = e.Value.ToString("N2", new CultureInfo("id-ID")); 
      break; 
    } 
} 

所以,你可以设置不同的格式,不同的列并串转换的incapsulate逻辑一类\厂等