Site icon Blog ARC Optimizer

Planifiez vos vacances avec l'interface utilisateur Telerik pour le planificateur WinForms


Dans ce billet de blog, vous en apprendrez plus sur le contrôle Scheduler de Telerik UI pour WinForms et sur l'utilisation de la nouvelle fonctionnalité de prise en charge des congés ajoutée avec la dernière version de R2'18.

Le planificateur (RadScheduler) dans L'interface utilisateur de Telerik pour WinForms est un composant hautement personnalisable permettant de présenter une variété de programmes avec rendez-vous dans différentes vues telles que Jour, Semaine, Mois et plus. À compter de R2 2018, nous avons également introduit la prise en charge des congés dans RadScheduler où vous pouvez définir des dates spécifiques sous la forme de jours non ouvrables ou les empêcher de prendre des rendez-vous.

Ajout de jours fériés au contrôle du planificateur

La collection Holidays stocke tous les jours spéciaux. Il est accessible au public et avec l'API suivante, vous pouvez ajouter des congés par programmation:

Telerik.WinControls.UI.Holiday holiday = new Telerik.WinControls.UI.Holiday ();

holiday.Date = new DateTime (2018, 5, 24);

holiday.HolidayName = "Saints Cyril et Methodius Day" ;

holiday.Location = "Bulgarie ";

bool generateAppointment = true ;

this .radScheduler1.Holidays.AddHoliday (holiday, generateAppointment);

Dans l'interface utilisateur, il sera être représenté comme un rendez-vous d'une journée entière qui est indiqué ci-dessous:

chaîne de caractères nomFichier = @ ". Emplacement du fichier .hol" ;

bool createAppointment = true ; 19659017] this .radScheduler1.Holidays.ReadHolidays (nom_fichier, createAppointment);

Chaîne NomFichier = @ ". Emplacement du fichier .hol" ;

bool createAppointment = true ;

this .radScheduler1.Holidays.ReadHolidays (NomFichier, createAppointment, new Liste < string > () { "Bulgaria" );

private void radScheduler1_CellFormatting ( objet sender, Telerik.WinControls.UI.SchedulerCellEventArgs e)

{

si (! (e.CellElement est SchedulerHeaderCellElement))

[

si ( this . radScheduler1.Holidays.IsHoliday (e.CellElement.Date))

[

chaîne s = chaîne . Vide;

[19659079] foreach (item var dans this .radScheduler1.Holidays.GetHolidays (e.CellElement.Date) .OrderBy (ae => ae.HolidayName))

[

si (! S.Contains (item.HolidayName ))

s + = item.HolidayName + Environment.NewLine;

}

e.CellElement.DrawText = true ;

e.CellElement.Text = s.ToString ();

e.CellElement.TextWrap = true ;

e.CellElement.TextAlignment = ContentAlignment.BottomCenter;

Rembourrage = e.CellElement.Padding;

si ( this .radScheduler1.ActiveViewType == SchedulerViewType.Month)

padding.Bottom = 22; ]

e.CellElement.Padding = padding;

si [19659007] ( this .radScheduler1.Holidays.GetHolidays (e.CellElement.Date) .Where (l => l.Location == [19659012] "Bulgaria" ). Any ())

e.CellElement.BackColor = Color.LightGreen;

sinon

e.CellElement.BackColor = Color.Orange;

sinon

[

e.CellElement.DrawText = false ;

e.CellElement.ResetValue (RadItem.BackColorProperty, ValueResetFlags.Local); [1949] 59015]

}

private void objet radScheduler1_AppointmentMoving ( expéditeur, rendez-vousMovingEventArgs e)

{

si ( this .radScheduler1.Holidays.IsHoliday .NewDate) || this .radScheduler1.Holidays.IsHoliday (e.NewDate.Add (e.Appointment.Duration)))

[

e.Cancel = true ;

RadMessageBox.Show ( "Vous ne pouvez pas ajouter de rendez-vous pour les vacances! );

[1945902] 0] }

}

privé void radScheduler1_AppointmentResizing ( objet émetteur, rendez-vousResizingEventArgs e)

{

si ] this .radScheduler1.Holidays.IsHoliday (e.NewStartDate) || this .radScheduler1.Holidays.IsHoliday (e.NewStartDate.Add (e.NewDuration)))

{ ]

e.Cancel = true ;

[19659077] RadMessageBox.Show ( "Vous ne pouvez pas ajouter de rendez-vous pour les vacances! );

}

privé void radScheduler1_AppointmentEditDialogShowing objet expéditeur, AppointmentEditDialogShowingEventArgs e)

{

si ( this .radScheduler1.Holidays .IsHoliday (e.Appointment.Sta rt))

[

e.Cancel = true ;

RadMessageBox.Show ( "Vous ne pouvez pas ajouter de rendez-vous pendant les vacances! );

}

la page du produit et vient avec un essai gratuit de 30 jours qui vous donne le temps d'explorer la boîte à outils et d'envisager de l'utiliser pour votre développement actuel ou futur.

J'aimerais savoir ce que vous en pensez, alors si vous avez des questions ou des commentaires, veuillez les partager sur notre Feedback Portal ou dans la section des commentaires ci-dessous.


Les commentaires sont désactivés en mode prévisualisation. 19659238]




Source link

Quitter la version mobile