Fermer

août 7, 2018

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:

 SchedulerHolidays01 "title =" SchedulerHolidays01 "/></p data-recalc-dims=

Importation à partir d'un fichier Outlook Holidays

L'extension de fichier .hol (Outlook Holiday) a été développée par Microsoft pour stocker les jours non ouvrés pertinents dans Outlook. Nous avons ajouté le support pour l'importation de fichiers Outlook.hol, de sorte que vous pouvez facilement charger des vacances pour différents pays. Voici comment vous chargez un fichier .hol:

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

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

 SchedulerHolidays02 "title =" SchedulerHolidays02 "/></p data-recalc-dims=

Voici comment charger les vacances pour un pays spécifique à partir de. Fichier hol:

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

bool createAppointment = true ;

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

 SchedulerHolidays03 "title =" SchedulerHolidays03 "/></p data-recalc-dims=

Mise en évidence des jours fériés

Une fois la collection Holidays remplie (via l'API ou en important un fichier .hol), nous pouvons tirer parti de l'événement de formatage pour différencier ces dates. Nous avons marqué ici tous les jours contenant des jours fériés américains en orange et ceux avec des jours fériés en bulgare en vert:

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]

}

 SchedulerHolidays04 "title =" SchedulerHolidays04 "/></p data-recalc-dims=

Dates de blocage

Pour bloquer la création ou la modification de nouveaux rendez-vous, vous devez supprimer la boîte de dialogue permettant d'insérer un nouveau rendez-vous et désactiver le redimensionnement ou le déplacement d'un événement existant vers un jour férié. Pour ce faire, annulez les événements AppointmentEditDialogShowing AppointmentResizing et pour rendez-vous:

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! );

}

 SchedulerHolidays05 "title =" SchedulerHolidays05 "/></p data-recalc-dims=

Essayez-le et partagez vos commentaires

RadScheduler fait partie de la suite Telerik UI for WinForms, que vous pouvez en apprendre plus via 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