【问题标题】:don't display datetime min value in gridview不要在gridview中显示日期时间最小值
【发布时间】:2016-04-08 14:11:46
【问题描述】:

给定:

public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public DateTime Birthdate { get; set; }
}

我有一些未输入生日的列表,因此当我绑定到 GridView 时,它会显示 DateTime.MinValue。如果生日是 DateTime.MinValue,有哪些不同的方法可以在 gridview 中显示空白?

【问题讨论】:

    标签: c#


    【解决方案1】:

    除非它映射到数据库,否则我会将其设为可空:

    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;
       }   
    }
    

    【讨论】:

      【解决方案2】:

      您可以向 Customer 添加一个名为 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 进行任何您想做的格式化,以使其与您的格式匹配。

      【讨论】:

        【解决方案3】:

        或者,您可以更新前端 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>
        

        【讨论】:

        • 当你不想/不能改变类型时,这是完美的,POCOs
        猜你喜欢
        • 2021-12-23
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-22
        • 2018-02-21
        • 2015-06-12
        相关资源
        最近更新 更多