Class ScheduleResource<TValue, TItem>
A class that represents the resource related configurations and the options for binding its data.
Implements
Inherited Members
Namespace: Syncfusion.Blazor.Schedule
Assembly: Syncfusion.Blazor.dll
Syntax
public class ScheduleResource<TValue, TItem> : SfDataBoundComponent, IScheduleResources
Type Parameters
Name | Description |
---|---|
TValue | The type of the resource ID field value from the data source model. |
TItem | The type of the data source model. |
Remarks
You can configure the collection of schedule resource by specifying values for the corresponding properties with in the ScheduleResources tag directive.
Examples
The following code example shows how to configure the resource in scheduler:
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" DataSource="@OwnersData" Field="OwnerId" Title="Owner" Name="Owners" TextField="Text" IdField="Id"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public List<ResourceData> OwnersData { get; set; } = new List<ResourceData>
{
new ResourceData{ Text = "Nancy", Id = 1 },
new ResourceData{ Text = "Steven", Id = 2 }
};
public class AppointmentData
{
public int Id { get; set; }
public string Subject { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int OwnerId { get; set; }
}
public class ResourceData
{
public int Id { get; set; }
public string Text { get; set; }
}
}
Constructors
ScheduleResource()
Declaration
public ScheduleResource()
Properties
AllowMultiple
Gets or sets a value indicating whether to allow multiple selection of resource names, which results in multiple instances of the same appointment for the selected resources.
Declaration
public bool AllowMultiple { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
ChildContent
Gets or sets the child content for schedule resource.
Declaration
public RenderFragment ChildContent { get; set; }
Property Value
Type | Description |
---|---|
Microsoft.AspNetCore.Components.RenderFragment | The value used to build the content. |
Examples
In the below example SfDataManager is rendered as child content to bind resource data using custom adaptor.
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" Field="OwnerId" Title="Owner" Name="Owners" TextField="Text" IdField="Id">
<SfDataManager AdaptorInstance="@typeof(CustomAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
</ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code{
public class CustomAdaptor : DataAdaptor
{
List<ResourceData> EventData = ResourceList();
public async override Task<object> ReadAsync(DataManagerRequest dataManagerRequest, string key = null)
{
await Task.yield();
return dataManagerRequest.RequiresCounts ? new DataResult() { Result = EventData, Count = EventData.Count() } : (object)EventData;
}
}
private static List<ResourceData> LastResourceList()
{
return new List<ResourceData>
{
new ResourceData { Text = "Resource 1", Id = 1 },
new LastLevel { Text = "Resource 2", Id = 2 },
new LastLevel { Text = "Resource 3", Id = 3 }
}
}
public class ResourceData
{
public int Id { get; set; }
public string Text { get; set; }
}
}
ColorField
Gets or sets the mapping field for the Color
field from the dataSource, used to specify the colors for the resources.
Declaration
public string ColorField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" ColorField="ResColor"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
Public string ResColor { get; set;}
}
}
CssClassField
Gets or sets the mapping field for the CssClass
field from the dataSource, used to specify different styles to each resource's appointments.
Declaration
public string CssClassField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" CssClassField="CustomClass"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
Public string CustomClass { get; set;}
}
}
DataSource
Gets or sets the collection of resources to display in the scheduler.
Declaration
public IEnumerable<TItem> DataSource { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<TItem> | The collection should be of type System.Collections.Generic.IEnumerable<>. |
EndHourField
Gets or sets the mapping field for the EndHour
field from the dataSource, used to specify different work end hours for each resource.
Declaration
public string EndHourField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" EndHourField="ResEndHour"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
Public string ResEndHour { get; set;}
}
}
ExpandedField
Gets or sets the mapping field for the Expanded
field from the dataSource, used to specify whether each resource level in the timeline view should be maintained in an expanded or collapsed state by default.
Declaration
public string ExpandedField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" ExpandedField="Expand"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
Public string Expand { get; set;}
}
}
Field
Gets or sets a value that is bound to the resource field of appointment data.
Declaration
public string Field { get; set; }
Property Value
Type | Description |
---|---|
System.String | This value should be a string and will be mapped in the ScheduleEventSettings<TValue> data source. The default value is null. |
Remarks
If the resource field value is not mapped to the appointment data model, then the appointment will not be rendered for that resource.
Examples
In the below code example, ResourceId
field is mapped for Field
property to map the resource id for appointments.
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" Field="ResourceId"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class AppointmentData
{
public int Id { get; set; }
public string Subject { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int ResourceId { get; set; }
}
public class ResourceData
{
public int Id { get; set; }
public string Text { get; set; }
}
}
GroupIDField
Gets or sets the mapping field for the GroupID
field from the dataSource, used to specify under which parent resource the child should be grouped.
Declaration
public string GroupIDField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" GroupIDField="ResGroupId"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
Public string ResGroupId { get; set;}
}
}
IdField
Gets or sets the mapping field for the Id
field from the dataSource, used to uniquely identify the resources.
Declaration
public string IdField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" IdField="ResId"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
public int ResId { get; set; }
}
}
Name
Gets or sets a unique resource name for differentiating various resource objects while grouping.
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String | This value should be a string and will be applied to the Resources property to group the resources. The default value is |
Examples
In the below code example, Resource names were mapped for resource grouping.
<SfSchedule TValue="AppointmentData">
<ScheduleGroup Resources="@Resources"></ScheduleGroup>
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" Name="Rooms"></ScheduleResource>
<ScheduleResource TItem="ResourceData" TValue="int" Name="Owners"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public string[] Resources { get; set; } = { "Rooms", "Owners" };
}
Query
Gets or sets the external Query
that will be executed during data processing.
Declaration
public Query Query { get; set; }
Property Value
Type | Description |
---|---|
Query | Accepts Query value. |
StartHourField
Gets or sets the mapping field for the StartHour
field from the dataSource, used to specify different work start hours for each resource.
Declaration
public string StartHourField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" StartHourField="ResStart"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
public string ResStart { get; set; }
}
}
TextField
Gets or sets the mapping field for the Text
field from the dataSource, used to specify the resource names.
Declaration
public string TextField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" TextField="ResName"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
public string ResName { get; set; }
}
}
Title
Gets or sets the title for the resource field to be displayed on the schedule event editor window.
Declaration
public string Title { get; set; }
Property Value
Type | Description |
---|---|
System.String | This value should be a string and will be displayed on the editor window. The default value is |
WorkDaysField
Gets or sets the mapping field for the WorkDays
field from the dataSource, used to specify different working days for each resource.
Declaration
public string WorkDaysField { get; set; }
Property Value
Type | Description |
---|---|
System.String | Accepts string value that should be mapped in the dataSource. The default value is |
Examples
<SfSchedule TValue="AppointmentData">
<ScheduleResources>
<ScheduleResource TItem="ResourceData" TValue="int" WorkDaysField="ResWorkDays"></ScheduleResource>
</ScheduleResources>
</SfSchedule>
@code {
public class ResourceData
{
public int[] ResWorkDays { get; set; }
}
}
Methods
BuildRenderTree(RenderTreeBuilder)
Declaration
protected override void BuildRenderTree(RenderTreeBuilder __builder)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder | __builder |
OnInitializedAsync()
Declaration
protected override Task OnInitializedAsync()
Returns
Type |
---|
System.Threading.Tasks.Task |
Overrides
OnParametersSetAsync()
Declaration
protected override Task OnParametersSetAsync()
Returns
Type |
---|
System.Threading.Tasks.Task |