2012-04-27 16 views
1

に日時分値が表示されません。誕生日がDateTime.MinValueの場合、gridviewに空白を表示する方法はいくつかありますか?は、与えられたGridViewの

答えて

9

それがデータベースにマッピングされていない限り、私はそれがNULL可能にするだろう:

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

EDIT:それがマップされている場合

、その後、私はちょうどそれのために読み取り専用NULL可能値を作ると思います:

public DateTime? BirthdateDisplay 
{ 
    get 
    { 
     if (this.Birthdate == default(DateTime)) 
     return null; 
     else 
     return this.Birthdate; 
    } 
} 
3

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

、あなたはそれがあなたの形式を一致させるためにゲッターにBirthDateStrにやってみたい書式を何でも行うことができます。

1

代わりに、あなたは以下の通りDateTime.MinValueを隠すために、あなたのフロントエンドGridViewの表示を更新することができます:あなたが/できない変更しないとき

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

+0

これは完璧ですタイプ、POCO –

関連する問題