バージョン

AppointmentDataError イベント

データソースの特定の値が無効なときに発生します。
シンタックス
'宣言
 
Public Event AppointmentDataError As AppointmentDataErrorEventHandler
public event AppointmentDataErrorEventHandler AppointmentDataError
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、AppointmentDataErrorEventArgs 型の引数を受け取りました。次の AppointmentDataErrorEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
Appointment 無効なデータを含むデータ行を持つ Appointment への参照を返します。
BoundValue Infragistics.Win.UltraWinSchedule.DataErrorEventArgsBaseから継承されます。バインドされたフィールドから取得した変換後の値を返します。
MemberName Infragistics.Win.UltraWinSchedule.DataErrorEventArgsBaseから継承されます。エラーの原因である、バインドされたフィールドの名前を返します。
Message Infragistics.Win.UltraWinSchedule.DataErrorEventArgsBaseから継承されます。エンドユーザーに表示されるメッセージを取得または設定します。
PropertyId データバインディングが無効な値を返した Appointment プロパティのプロパティ ID を返します。
ShowMessageBox Infragistics.Win.UltraWinSchedule.DataErrorEventArgsBaseから継承されます。データバインディングエラーが発生したときにMessageBoxを表示するかどうかを示します。
使用例
Private Sub ultraCalendarInfo1_AppointmentDataError(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.AppointmentDataErrorEventArgs) Handles ultraCalendarInfo1.AppointmentDataError
        'Cancel the default message box
        e.ShowMessageBox = False

        'Show a custom message box
        Dim result As DialogResult = MessageBox.Show(Me, "Failed to add appointment. Would you like to set default values?", "Error", MessageBoxButtons.YesNo)
        If (result = DialogResult.Yes) Then
            'Check it the Subject was Nothing
            Dim dr As DataRow = DirectCast(e.Appointment.BindingListObject, DataRowView).Row
            If (dr("Subject") Is DBNull.Value) Then
                'Set the subject to a default string
                e.Appointment.Subject = "Error appointment"
            End If

            'Check if the StartDateTime is Nothing
            If (dr("StartDateTime") Is DBNull.Value) Then
                'Set StartDateTime to a deafult
                e.Appointment.StartDateTime = DateTime.Now
            End If

            'Check if the EndDateTime is Nothing and make sure it is after the StartDateTime
            If (dr("EndDateTime") Is DBNull.Value OrElse DirectCast(dr("EndDateTime"), DateTime) <= DirectCast(dr("StartDateTime"), DateTime)) Then
                'Set EndDateTime to a deafult
                e.Appointment.EndDateTime = e.Appointment.StartDateTime.AddHours(1)
            End If
        End If
    End Sub
private void ultraCalendarInfo1_AppointmentDataError(object sender, Infragistics.Win.UltraWinSchedule.AppointmentDataErrorEventArgs e)
{

	//Cancel the default message box
	e.ShowMessageBox = false;

	//Show a custom message box
	DialogResult result = MessageBox.Show(this, "Failed to add appointment. Would you like to set default values?", "Error", MessageBoxButtons.YesNo);
	if ( result == DialogResult.Yes )
	{
		//Check it the Subject was null
		DataRow dr = ((DataRowView)e.Appointment.BindingListObject).Row;
		if ( dr["Subject"] == DBNull.Value )
		{
			//Set the subject to a default string
			e.Appointment.Subject = "Error appointment";
		}
		
		//Check if the StartDateTime is null
		if ( dr["StartDateTime"] == DBNull.Value )
		{
			//Set StartDateTime to a deafult
			e.Appointment.StartDateTime = DateTime.Now;
		}

		//Check if the EndDateTime is null and make sure it is after the StartDateTime
		if ( dr["EndDateTime"] == DBNull.Value 
			|| ((DateTime)dr["EndDateTime"]) <= ((DateTime)dr["StartDateTime"]))
		{
			//Set EndDateTime to a deafult
			e.Appointment.EndDateTime = e.Appointment.StartDateTime.AddHours(1);
		}
	}			
}
参照