1

我正在 c# 中 datagridview 的单元格格式化事件中编写以下代码

this.dgvfrm.Columns["expdt"].DefaultCellStyle.Format = "dd/MM/yyyy";

写完这篇文章后,当我在 datagridview 文本框列中输入 dd/MM/yyyy 格式时,它显示错误。我给你看图片

在此处输入图像描述

我不明白我想知道什么?

4

2 回答 2

1

您收到此错误是因为数据网格单元格中的值(至少其中一个)不是有效的日期和时间,并且不能以这种方式格式化。

于 2013-06-06T16:47:36.680 回答
0

你有没有尝试过这样的事情:

private void dgvfrm_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if(e.ColumnIndex != yourFormattigColumnIndex || e.Value == null)  //Added the null check
        return;

    dgvfrm.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = ((DateTime)e.Value).ToString("dd/MM/yyyy");
}

我认为这应该可行(可能有一些错字/语法,但想法就在那里)

于 2013-06-06T17:34:44.057 回答