格式化动态创建的列
Formatting dynamically created column
我有一个使用 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);
}
但是这个没有效果。我无法将格式应用于数据表,因为我将其用于成本计算,因此舍入成本可能会导致问题。
任何帮助将不胜感激
您应该将您的变量类型从 string
转换为 decimal
/double
类型,然后应用您的格式:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[4].Text = Convert.ToDecimal(e.Row.Cells[4].Text).ToString("#.####");
}
我有一个使用 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);
}
但是这个没有效果。我无法将格式应用于数据表,因为我将其用于成本计算,因此舍入成本可能会导致问题。
任何帮助将不胜感激
您应该将您的变量类型从 string
转换为 decimal
/double
类型,然后应用您的格式:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[4].Text = Convert.ToDecimal(e.Row.Cells[4].Text).ToString("#.####");
}