使用多种类型格式化列
本文关键字:格式化 类型 种类 | 更新日期: 2023-09-27 18:15:59
在我的datagridview列中有货币文本和数字类型值。我想使用下面的代码格式化货币值,但它不起作用。
private void gv_EmployeeAdditional_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (gv_EmployeeAdditional.Rows[e.RowIndex].Cells["EmpDatatype"].Value.ToString() == "Currency")
{
gv_EmployeeAdditional[e.ColumnIndex, e.RowIndex-1].Style.Format = "#,##0.00##";
}
}
现在不能测试它,但我认为这是你正在寻找的,设置一个断点,并确保你进入if语句,然后运行几个测试用例…
if (gv_EmployeeAdditional.Rows[e.RowIndex].Cells["EmpDatatype"].Value.ToString() == "Currency")
{
gv_EmployeeAdditional.Columns[e.ColumnIndex].DefaultCellStyle.Format = "N2";
gv_EmployeeAdditional.Columns[e.ColumnIndex].ValueType = typeof(decimal);
//gv_EmployeeAdditional[e.ColumnIndex, e.RowIndex - 1].Style.Format = "#,##0.00##";
}
甚至可以试着设置这一行:
gv_EmployeeAdditional[e.ColumnIndex, e.RowIndex - 1].Style.Format = "N2";
c#中的格式化类型link here