格式化动态创建的列

时间:2015-06-15 13:20:00

标签: c# asp.net gridview

我有一个使用sql程序动态生成的asp网格内容 使用返回的过程数据表绑定到网格。在这个网格中我有一个成本列,我喜欢舍入到4位小数(12.1234)。怎么做?

我在RowDataBound中尝试过

if (e.Row.RowType == DataControlRowType.DataRow)
{
   e.Row.Cells[4].Text = string.Format("{0:N4}", e.Row.Cells[4].Text);
}

但这没有效果。我无法将格式应用于数据表,因为我将其用于成本计算,因此舍入成本可能会导致问题。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

您应该将变量类型从string转换为decimal / double类型,然后应用您的格式:

if (e.Row.RowType == DataControlRowType.DataRow)
{
   e.Row.Cells[4].Text = Convert.ToDecimal(e.Row.Cells[4].Text).ToString("#.####");
}