DxSchedulerDataStorage Class
A storage that holds data for the Scheduler control.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v21.1.dll
NuGet Package: DevExpress.Blazor
Declaration
public class DxSchedulerDataStorage
Related API Members
The following members return DxSchedulerDataStorage objects:
Remarks
The DxSchedulerDataStorage object is an essential element required for the DxScheduler component operation. It contains source data for the following Scheduler persistent objects:
- appointments
- labels
- status items
- resources
The DxSchedulerDataStorage defines property mappings that map data fields to persistent object properties.
The DxSchedulerDataStorage includes API to retrieve persistent objects and manage them.
The <DxScheduler>
component is bound to the DxSchedulerDataStorage instance with the DxScheduler.DataStorage property.
Create Data Storage and Specify Mappings
Follow the steps below:
- Create the DxSchedulerDataStorage object. Use the constructor without parameters.
- Use the DxSchedulerDataStorage.AppointmentsSource property to specify a collection of data objects as the appointment source. Use the the DxSchedulerDataStorage.AppointmentMappings property to define mappings.
(Optional) Specify the label, status, and resource sources and mappings with the following properties:
- Labels: AppointmentLabelsSource, AppointmentLabelMappings
- Status Items: AppointmentStatusSource, AppointmentStatusMappings
- Resources: ResourcesSource, ResourcesMappings
Note
The DxSchedulerDataStorage object contains built-in label and status collection. The scheduler uses built-in collections when label and status sources and mappings are not specified.
The following code snippet demonstrates how to create the DxSchedulerDataStorage object, specify mappings, and assign the storage to the <DxScheduler>
component:
<DxScheduler StartDate="@DateTime.Today" DataStorage="@DataStorage">
<DxSchedulerWeekView ShowWorkTimeOnly="true"></DxSchedulerWeekView>
</DxScheduler>
@code {
DxSchedulerDataStorage DataStorage = new DxSchedulerDataStorage() {
AppointmentsSource = AppointmentCollection.GetAppointments(),
AppointmentMappings = new DxSchedulerAppointmentMappings() {
Type = "AppointmentType",
Start = "StartDate",
End = "EndDate",
Subject = "Caption",
AllDay = "AllDay",
Location = "Location",
Description = "Description",
LabelId = "Label",
StatusId = "Status",
RecurrenceInfo = "Recurrence"
}
};
}
Retrieve Persistent Objects
The DxSchedulerDataStorage object includes methods to retrieve all kinds of persistent objects from the storage. The methods are listed in the table below.
Method | Description |
---|---|
GetAppointmentItemById | Returns an appointment with the specified identifier from the storage. |
GetAppointments | Returns appointments within the specified date-time range. |
GetExceptions | Returns all exceptions to the specified pattern. |
GetOccurrenceOrException | Returns an occurrence or exception with the specified recurrence index from the recurring series specified by its pattern. |
GetOccurrencesAndExceptions | Retrieves the collection of occurrences and exceptions that belong to the specified time interval. |
GetPattern | Returns a pattern of the specified occurrence or exception. |
GetLabelItemById | Returns a label with the specified identifier from the storage. |
GetResourceItemById | Returns a resource item with the specified identifier from the Scheduler’s data storage. |
GetStatusItemById | Returns a status with the specified identifier from the storage. |
Manage Persistent Objects
The DxSchedulerDataStorage object includes methods that create a persistent object. In contrast with a simple object constructor, these methods create two objects - a persistent object along with a related source object - and establish mapping between them.
Method | Description |
---|---|
CreateAppointmentItem | Creates a new appointment item. |
CreateLabelItem | Creates a new label item. |
CreateResourceItem | Creates a new resource item. |
CreateStatusItem | Creates a new label item. |