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);
}
}
}
//using (ProNetData d = new ProNetData())
//{
// var users = (from c in d.AppointmentUsersAssigned.Include("User")
// select new { UserID = c.UserID, UserName = c.User.LastName + ", " + c.User.FirstName.Substring(0, 1) }).ToList();
// foreach (var v in users)
// {
// Resource name = new Resource("User Name", v.UserID, v.UserName);
// 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
;
}
<
telerik:RadToolTipManager ID="PLToolTipManager" runat="server" Position="BottomCenter" Animation="Fade" OnAjaxUpdate="OnAjaxUpdateToolTip" Skin="Web20" Width="380px" Height="250px" Style="font-size: 18px; text-align: center; font-family: Arial;">
</telerik:RadToolTipManager>
<telerik:RadAjaxManagerProxy ID="RadAjaxManager3" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="fvEdit">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="chkPL" />
<telerik:AjaxUpdatedControl ControlID="PLToolTipManager" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
I used a proxy because I already have an Ajax manager on the page with the grid. Here is the aspx for the grid
Here is the code behind that adds the control to the tooltiplist
protected
void chkPLOnDataBinding(object sender, EventArgs e)
{
CheckBox chkPL = (CheckBox)sender;
string myClientID = chkPL.ClientID;
RadToolTipManager RadToolTipManager1 = (RadToolTipManager)this.FindControl("PLToolTipManager");
int itemid = (int)fvEdit.DataKey.Value;
PLToolTipManager.TargetControls.Add(myClientID, itemid.ToString(), true);
}
The OnAjaxUpdateToolTip event never happens.
Here is the aspx code of the page with the grid. - this works fine
<
telerik:RadAjaxManager ID="RadAjaxManager1"
runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
<telerik:AjaxUpdatedControl ControlID="RadToolTipManager1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</
telerik:RadAjaxManager>
<telerik:RadToolTipManager ID="RadToolTipManager1" OffsetY="-1" HideEvent="LeaveToolTip"
Width="200" Height="200" runat="server" EnableShadow="true" OnAjaxUpdate="OnAjaxUpdate" RelativeTo="Element"
Position="MiddleRight">
</telerik:RadToolTipManager>
I would really appreciate help with this. I have spent many hours on this already
Thanks
Judith
GridPagerItem pagerItem = e.Item
as
GridPagerItem;
RadButton newButton =
new
RadButton();
newButton.ID =
"btnSaveNext"
;
newButton.Text =
"Save & Next"
;
newButton.CommandName =
"SaveNext"
;
newButton.Icon.PrimaryIconUrl =
"../images/icons/save16x16.gif"
;
((Table)e.Item.Cells[0].Controls[0]).Rows[0].Cells[0].Controls.Add(newButton);