2013-05-03 62 views
0

值我有这样一个gridview:格式的GridView列在另一列

flag     number 
2013     2315 
2013     25986 
YYT Tredn (%)  2 
YYT Tredn (%)  3 

我想基于标志列中的值与标志2013年数字的格式,如行与逗号格式化和与YYY趋势(%)与%是这样的:

flag     number 
2013     2,315 
2013     25,986 
YYT Tredn (%)  2% 
YYT Tredn (%)  3% 

回答

1

可能是有点矫枉过正,但这是我将如何完成你正在尝试做什么。

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     switch (e.Row.Cells[0].Text) 
     { 
      case "2013": 
       e.Row.Cells[1].Text = FormatNumberWithComma(e.Row.Cells[1].Text); 
       break; 
      case "YYT Tredn (%)": 
       e.Row.Cells[1].Text = FormatNumberWithPercent(e.Row.Cells[1].Text); 
       break; 
     } 
    } 

    private string FormatNumberWithPercent(string input) 
    { 
     try 
     { 
      int result = int.Parse(input); 
      return String.Format("{0}%", result); 
     } 
     catch 
     { 
      return "NaN"; 
     } 
    } 

    private string FormatNumberWithComma(string input) 
    { 
     try 
     { 
      int result = int.Parse(input); 
      return String.Format("{0:#,###0}", result); 
     } 
     catch 
     { 
      return "NaN"; 
     } 
    } 
+0

由于Nnurvx,优良的解决方案,只是要改变在formatnumberwithcomm( “{0:0000}”,结果)的格式与返回的String.Format; – Alaxi04 2013-05-03 19:01:52

+0

谢谢!对于格式不正确的道歉,我已经更新了我的答案,以反映逗号的正确格式。 – Nurvx 2013-05-03 19:42:45

相关问题