【发布时间】:2010-10-08 18:47:51
【问题描述】:
我正在开发一个姓名记录应用程序,信息存储在 SQLite 数据库中。数据库中的所有列都是 TEXT 类型,但出生日期列除外,它是 DATETIME。我转移到 SQLite 数据库的原始 Access 数据库允许出生日期为空,所以当我复制它时,我将所有空设置为 DateTime.MinValue。
在我的应用程序中,出生日期列的格式如下:
DataGridViewTextBoxColumn dateOfBirth = new DataGridViewTextBoxColumn();
dateOfBirth.HeaderText = "DOB";
dateOfBirth.DataPropertyName = "DateOfBirth";
dateOfBirth.Width = 75;
dateOfBirth.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dateOfBirth.DefaultCellStyle.Format = "MM/dd/yyyy";
我的问题是没有出生日期的行,数据库有 DateTime.MinValue,在我的 DataGridView 中显示为 01/01/0001。
我正在寻找一种在我的 DataGridView 中用空字符串 ("") 替换 01/01/0001 的方法。
private void resultsGrid_DateFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
if(resultsGrid.Columns[e.ColumnIndex].Name.Equals("DateOfBirth"))
{
if ((DateTime)(resultsGrid.CurrentRow.Cells["DateOfBirth"].Value) == DateTime.MinValue)
{
// Set cell value to ""
}
}
}
有人知道如何用空字符串替换 DataGridView 中的 DateTime.MinValue 吗?谢谢!
编辑:使用 DateTime 转换单元格值允许我必须使用 if 语句,但我仍然无法弄清楚用空白字符串替换 MinValues 的编码。
【问题讨论】:
-
类似的问答已经发布在这个帖子上:stackoverflow.com/a/36492728/909689
标签: c# datetime sqlite datagridview