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]
}


la page du produit et vient avec