'宣言 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); } } }