デフォルトでは、UltraCalendarCombo によって Value をクリアできます。コントロールの編集部分のテキストを選択して Delete を押す、またはドロップダウンで NullDate タイプのInfragistics.Win.UltraWinSchedule.CalendarCombo.DateButtonをクリックすることによって、ユーザーはこれを実行できます。これが発生すると、日付が設定されていないことを示すために、Value は DBNull に設定されます。コントロールがフォーカスを取得していないのに、Value が DBNull.Value に設定されると、編集部分で NullDateLabel を表示します。
Value が DBNull.Value に現在設定されている場合、AllowNull プロパティを False に設定できないことに注意してください。
Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports Infragistics.Win.UltraWinSchedule.CalendarCombo Private Sub AllowNullValues(ByVal allow As Boolean) If (allow) Then ' Set AllowNull to true Me.ultraCalendarCombo1.AllowNull = True ' Set the NullDateLabel to "(no date selected)", which the control ' will display when the Value property is set to null Me.ultraCalendarCombo1.NullDateLabel = "(no date selected)" Else ' If the Value property is null, we can't set AllowNull to false, ' or an exception will be thrown. When that is the case, change ' the Value to the current date. If Me.ultraCalendarCombo1.Value Is Nothing Or Me.ultraCalendarCombo1.Value Is DBNull.Value Then Me.ultraCalendarCombo1.Value = DateTime.Today ' Now set the AllowNull property Me.ultraCalendarCombo1.AllowNull = False End If End If End Sub
using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; using Infragistics.Win.UltraWinSchedule.CalendarCombo; private void AllowNullValues( bool allow ) { if ( allow ) { // Set AllowNull to true this.ultraCalendarCombo1.AllowNull = true; // Set the NullDateLabel to "(no date selected)", which the control // will display when the Value property is set to null this.ultraCalendarCombo1.NullDateLabel = "(no date selected)"; } else { // If the Value property is null, we can't set AllowNull to false, // or an exception will be thrown. When that is the case, change // the Value to the current date. if ( this.ultraCalendarCombo1.Value == null || this.ultraCalendarCombo1.Value == DBNull.Value ) this.ultraCalendarCombo1.Value = DateTime.Today; // Now set the AllowNull property this.ultraCalendarCombo1.AllowNull = false; } }