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