IAppointmentStatusStorage.CreateNewStatus(Object, String, String) Method
Creates a new status with the specified name, identifier and menu caption.
Namespace: DevExpress.XtraScheduler
Assembly: DevExpress.XtraScheduler.v18.1.Core.dll
Declaration
Parameters
Name | Type | Description |
---|---|---|
id | Object | A Object that is the unique status identifier used in the Appointment.StatusId property. |
displayName | String | A string that is the name of a status to use in appointment status editors. |
menuCaption | String | A string that is the name of a status to use as the menu caption. |
Returns
Type | Description |
---|---|
IAppointmentStatus | An IAppointmentStatus object that is a new status. |
Remarks
A newly created status has the AppointmentStatusType.Custom type.
Example
This code illustrates how to substitute default appointment labels and statuses with your own.
Remove default labels and statuses by calling the Clear method of the AppointmentLabelCollection and AppointmentStatusCollection collections respectively. Subsequently, create a new label using the AppointmentLabelCollection.CreateNewLabel method, specify its AppointmentLabel.Color and add the newly created label to the collection. Create a new appointment status using the AppointmentStatusCollection.CreateNewStatus method, specify its appearance with the AppointmentStatusExtension.SetBrush method and add the newly created status to the collection.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/winforms-schedulercontrol-api-t224044
scheduler.Storage.Appointments.Clear();
string[] IssueList = { "Consultation", "Treatment", "X-Ray" };
Color[] IssueColorList = { Color.Ivory, Color.Pink, Color.Plum };
string[] PaymentStatuses = { "Paid", "Unpaid" };
Color[] PaymentColorStatuses = { Color.Green, Color.Red };
IAppointmentLabelStorage labelStorage = scheduler.Storage.Appointments.Labels;
labelStorage.Clear();
int count = IssueList.Length;
for (int i = 0; i < count; i++) {
IAppointmentLabel label = labelStorage.CreateNewLabel(i, IssueList[i]);
label.SetColor(IssueColorList[i]);
labelStorage.Add(label);
}
AppointmentStatusCollection statusColl = scheduler.Storage.Appointments.Statuses;
statusColl.Clear();
count = PaymentStatuses.Length;
for (int i = 0; i < count; i++) {
AppointmentStatus status = statusColl.CreateNewStatus(i, PaymentStatuses[i], PaymentStatuses[i]);
status.SetBrush(new SolidBrush(PaymentColorStatuses[i]));
statusColl.Add(status);
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the CreateNewStatus(Object, String, String) method.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.