用户编辑后数据网格单元格格式未保留
本文关键字:单元格 格式 保留 网格 数据网 编辑 数据 用户 | 更新日期: 2023-09-27 18:00:05
我有一个数据网格,具有以下单元格格式的
datagrid.rows[0].cells[0].Value =1;
datagrid.rows[0].cells[0].Style.Format ="#k";
这很好,输出将是1k,但是当用户将单元格值示例编辑为2时,单元格格式将不会生效?
问题是如何在用户编辑后保留单元格格式?
感谢
我猜您不是在使用底层数据源。您正在将DataGridViewRows
手动插入DataGridView
。
如果您使用的是数据源,如果列数据类型是数字,则样式将在编辑和只读模式下工作。
在您的情况下,您需要处理DataGridView
的CellFormatting
事件,并在那里设置单元格的格式:
void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex == 0)
{
// if the underlying type is int
int value;
if(e.Value != null && int.TryParse(e.Value.ToString(), out value))
{
e.Value = value.ToString("#k");
/*** OR ***
e.Value = value;
e.CellStyle.Format = "#k";
*/
}
}
}