2

与えられた:

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

一部の生年月日が入力されていないリストがあるため、GridView にバインドすると、DateTime.MinValue が表示されます。生年月日がDateTime.MinValueの場合、グリッドビューに空白を表示するいくつかの異なる方法は何ですか?

4

3 に答える 3

10

それがデータベースにマップされていない限り、null 可能にします。

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

編集:

マップされている場合は、読み取り専用の null 許容値を作成します。

public DateTime? BirthdateDisplay
{
   get
   {
      if (this.Birthdate == default(DateTime))
         return null;
      else
         return this.Birthdate;
   }   
}
于 2012-04-27T19:54:39.067 に答える
3

BirthDateStr という追加のプロパティを Customer に追加できます。

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 で実行したいフォーマットを実行して、フォーマットに一致させることができます。

于 2012-04-27T19:57:02.403 に答える