没有从代码隐藏中设置网格的Dataformatstring属性
本文关键字:网格 Dataformatstring 属性 设置 代码 隐藏 | 更新日期: 2023-09-27 18:27:53
我正在尝试将网格的边界字段列的Dataformatstring设置为某种格式。但它并没有得到应用。
GridView grid = (GridView)sender;
BoundField a= (BoundField)grid.Columns[2];
BoundField b= (BoundField)grid.Columns[3];
BoundField c= (BoundField)grid.Columns[4];
a.DataFormatString = "{0:N" + GridRoundoffDecimal + "}";
b.DataFormatString = "{0:N" + GridRoundoffDecimal + "}";
c.DataFormatString = "{0:N" + GridRoundoffDecimal + "}";
但是轴网列的值没有变化。这里GridRoundOffDecimal是数据库中的一个值,目前我已将其设置为2(表示小数点后的两位小数)。
附言:我知道这可以在aspx文件中通过将DataFormatString
属性设置为"{0:N2}"
来完成,也知道小数位数是从数据库中动态设置的。
你认为我哪里错了?
假设您的数据在DataTable
上,我认为如果您在DataBind()
函数之前执行它会更容易。像这样:
// Change decimal places and pass the DataTable to the GridView
for (int i = 0; i < dt.Rows.Count; i++)
{
double newValue = Convert.ToDouble(dt.Rows[i]["ColumnNameToChange"]);
dt.Rows[i]["ColumnNameToChange"] = String.Format("{0:N" + GridRoundoffDecimal.ToString() + "}", newValue);
}
GridView1.DataSource = dt;
GridView1.DataBind();