
Timothy Kruszewski
Top achievements
Rank 1
Timothy Kruszewski
asked on 02 Sep 2010, 04:02 PM
I have a scheduler that bind resouces using an entity data source and it works just fine. However, I would like to bind the resouces via C# and can't figure out how find the control or what in what method this needs to be done. An example would be greatly appreciated.
Thanks
Thanks
<
ResourceTypes
>
<
telerik:ResourceType
DataSourceID
=
"edsCategories"
ForeignKeyField
=
"CategoryID"
KeyField
=
"CategoryID"
Name
=
"Category"
TextField
=
"Category"
/>
<
/
ResourceTypes
>
<
asp:EntityDataSource
ID
=
"edsCategories"
runat
=
"server"
ConnectionString
=
"name=ProNetData"
DefaultContainerName
=
"ProNetData"
EntitySetName
=
"AppointmentCategories"
>
</
asp:EntityDataSource
>
4 Answers, 1 is accepted
0
Hello Timothy Kruszewski,
You'll need to subscribe to the OnInit or Page_Load events of the RadScheduler. Here's a sample code:
Hope this helps.
Greetings,
Veronica Milcheva
the Telerik team
You'll need to subscribe to the OnInit or Page_Load events of the RadScheduler. Here's a sample code:
protected
override
void
OnInit(EventArgs e)
{
base
.OnInit(e);
ResourceType Foreman =
new
ResourceType(
"Foreman"
);
Foreman.ForeignKeyField =
"UserID"
;
RadScheduler1.ResourceTypes.Add(Foreman);
RadScheduler1.Resources.Add(
new
Resource(
"Foreman"
, 1,
"A"
));
RadScheduler1.Resources.Add(
new
Resource(
"Foreman"
, 2,
"B"
));
RadScheduler1.Resources.Add(
new
Resource(
"Foreman"
, 3,
"C"
));
RadScheduler1.GroupBy =
"Foreman"
;
RadScheduler1.GroupingDirection = GroupingDirection.Vertical;
}
Hope this helps.
Greetings,
Veronica Milcheva
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0

Timothy Kruszewski
Top achievements
Rank 1
answered on 03 Sep 2010, 05:30 PM
The problem I'm having now is that my OnDataBound event is not able to find the resource. Is there a way I can have the resource type listed on the aspx page like this and then just add the datasource to it via the C# code?
<
ResourceTypes>
<telerik:ResourceType ForeignKeyField="UserID" KeyField="UserID"
Name="User Name" TextField="UserName" />
</ResourceTypes>
protected
override
void
OnInit(EventArgs e)
{
base
.OnInit(e);
using
(ProNetData d =
new
ProNetData())
{
var users = (from c
in
d.AppointmentUsers
where c.SyncUsers ==
true
orderby c.FirstName
select c).ToList();
ResourceType UserName =
new
ResourceType(
"User Name"
);
UserName.ForeignKeyField =
"UserID"
;
UserName.KeyField =
"UserID"
;
UserName.TextField =
"UserName"
;
UserName.DataSource = users;
}
}
protected
void
RadScheduler1_OnDataBound(
object
sender, EventArgs e)
{
foreach
(Resource res
in
RadScheduler1.Resources.GetResourcesByType(
"User Name"
))
{
RadScheduler1.Resources.Remove(res);
}
List<Resource> list =
new
List<Resource>();
foreach
(Telerik.Web.UI.Appointment a
in
RadScheduler1.Appointments.GetAppointmentsInRange(RadScheduler1.VisibleRangeStart, RadScheduler1.VisibleRangeEnd))
{
Resource userName = a.Resources.GetResourceByType(
"User Name"
);
if
(userName !=
null
&& !list.Contains(userName))
{
list.Add(userName);
}
foreach
(ListItem l
in
cblUsers.Items)
{
if
(l.Selected)
{
Resource name =
new
Resource(
"User Name"
,
int
.Parse(l.Value), l.Text);
if
(!list.Contains(name))
{
list.Add(name);
}
}
}
}
list.Sort(
delegate
(Resource resA, Resource resB)
{
return
resA.Text.CompareTo(resB.Text);
});
RadScheduler1.Resources.AddRange(list);
RadScheduler1.ResourceTypes.FindByName(
"User Name"
).AllowMultipleValues =
true
;
}
0
Accepted
Hi Timothy Kruszewski,
In your code I don't see where do you add the newly created ResourceType to the RadScheduler.
Please take a look at the line highlighted in yellow:
Kind regards,
Veronica Milcheva
the Telerik team
In your code I don't see where do you add the newly created ResourceType to the RadScheduler.
Please take a look at the line highlighted in yellow:
protected
override
void
OnInit(EventArgs e)
{
base
.OnInit(e);
using
(ProNetData d =
new
ProNetData())
{
var users = (from c
in
d.AppointmentUsers
where c.SyncUsers ==
true
orderby c.FirstName
select c).ToList();
ResourceType UserName =
new
ResourceType(
"User Name"
);
UserName.ForeignKeyField =
"UserID"
;
UserName.KeyField =
"UserID"
;
UserName.TextField =
"UserName"
;
UserName.DataSource = users;
RadScheduler1.ResourceTypes.Add(UserName);
}
}
Kind regards,
Veronica Milcheva
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0

Timothy Kruszewski
Top achievements
Rank 1
answered on 09 Sep 2010, 07:24 PM
That solved the problem. Thanks