不要在 GridView 中显示日期时间最小值
本文关键字:日期 时间 最小值 显示 GridView | 更新日期: 2023-09-27 18:32:43
给定:
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public DateTime Birthdate { get; set; }
}
我有未输入某些出生日期的列表,因此当我绑定到 GridView 时,它会显示 DateTime.MinValue。如果出生日期是 DateTime.MinValue,有哪些不同的方法可以在网格视图中显示空白?
除非它映射到数据库,否则我会使其可为空:
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public DateTime? Birthdate { get; set; }
}
编辑:
如果它被映射,那么我只会为它创建一个只读的可为空的值:
public DateTime? BirthdateDisplay
{
get
{
if (this.Birthdate == default(DateTime))
return null;
else
return this.Birthdate;
}
}
您可以向客户添加一个名为 BirthDateStr 的其他属性。
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public DateTime Birthdate { get; set; }
public string BirthDateStr
{
get
{
if (Birthdate != DateTime.MinValue)
return Birthdate.ToString();
else
return "";
}
}
显然,您可以在getter中的BirthDateStr上执行任何您想做的格式,以使其与您的格式匹配。
或者,您可以更新前端 GridView 显示以隐藏 DateTime.MinValue,如下所示:
<asp:TemplateField HeaderText="Last Request Date">
<ItemTemplate><%# (DateTime)Eval("LastRequestDate").Equals(DateTime.MinValue) ? "" : string.Format("{0:dd/MM/yyyy hh:mm:ss tt}", (DateTime)Eval("LastRequestDate")) %></ItemTemplate>