2010-07-08 4 views
1

J'ai un CalendarColumn DataGridView. Par défaut, si la colonne à laquelle elle est liée dans la table de base de données est NULL, elle affiche le courant, mais j'ai besoin de le faire juste NULL. Par exemple, si les données pour cette colonne de date particulière, je veux qu'un utilisateur puisse simplement rendre la cellule de date vide (NULL) mais je ne peux pas trouver une propriété à définir pour y parvenir. Toutes les idées, est de possible de réaliser ce genre de comportement dans un Calendercolumn de DatagridviewComment activer la sélection de valeur NULL dans DataGridview CalendarColumn

Répondre

0
ctl.ShowCheckBox = this.isNullable; 
if (this.Value != null && this.Value != DBNull.Value) { 
    if (this.Value is DateTime) { 
     ctl.Value = (DateTime)this.Value; 
    } else { 
     DateTime dtVal; 
     if (DateTime.TryParse(Convert.ToString(this.Value), out dtVal)) ctl.Value = dtVal; 
    } 
    if (this.isNullable) ctl.Checked = true; 
} else if (this.isNullable) { 
    ctl.Checked = false; 
} 
1
public object EditingControlFormattedValue { 
    get { 
     if (this.ShowCheckBox && !this.Checked) { 
      return String.Empty; 
     } else { 
      if (this.Format == DateTimePickerFormat.Custom) { 
       return this.Value.ToString(); 
      } else { 
       return this.Value.ToShortDateString(); 
      } 
     } 
    } 
    set { 
     string newValue = value as string; 
     if (!String.IsNullOrEmpty(newValue)) { 
      this.Value = DateTime.Parse(newValue); 
     } else if (this.ShowCheckBox) { 
      this.Checked = false; 
     } 
    } 
} 
Questions connexes