我希望textbox列应该是C#中datagridview中的DateTime列?

时间:2013-06-06 16:45:04

标签: c# datetime datagridview cell-formatting

我在c#

中的datagridview的单元格格式化事件中编写以下代码
this.dgvfrm.Columns["expdt"].DefaultCellStyle.Format = "dd/MM/yyyy";

在我在datagridview文本框列中输入dd / MM / yyyy格式时写入此内容后显示错误。我告诉你图像

enter image description here

我不明白我想知道什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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");
}

我认为这应该有用(可能有一些类型/语法,但想法就在那里)