Я полагаю, вы не работаете с базовым источником данных. Вы вставляете DataGridViewRows
вручную в DataGridView
.
Если вы использовали источник данных, если тип столбца был числовым, стиль будет работать как в режиме редактирования, так и в режиме только для чтения.
В вашем случае вам нужно обработать событие CellFormatting
для DataGridView
и установить там формат вашей ячейки:
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";
*/
}
}
}