I have a web application that allows different resource types depending on which site it is serving up. Therefore I need to dynamically generate the context menus for the scheduler. I have created a method to add these dynamically, but it does not appear to work. I've searched everywhere and I can't find any examples of anyone building context menus dynamically. I can't imagine that this wouldn't be supported, so I must be doing something wrong. Can anyone help me achieve this?
| private void buildContextMenu() |
| { |
| rscSchedule.AppointmentContextMenus.Clear(); |
| RadSchedulerContextMenu context = new RadSchedulerContextMenu(); |
| context.ID = "apptContext"; |
| RadMenuItem edit = new RadMenuItem("Open"); |
| edit.Value = "CommandEdit"; |
| context.Items.Add(edit); |
| RadMenuItem sep1 = new RadMenuItem(); |
| sep1.IsSeparator = true; |
| context.Items.Add(sep1); |
| IQueryable<AppointmentResourceType> resourceTypes = Appointments.AppointmentResourceTypesGet(MultiSite.SiteIDGet()); |
| foreach (AppointmentResourceType resourceType in resourceTypes) |
| { |
| RadMenuItem menuRType = new RadMenuItem(resourceType.ResourceTypeDesc); |
| IQueryable<AppointmentResourceTypeItem> statusItems = Appointments.AppointmentResourceTypeItemsGet(resourceType.ResourceTypeID); |
| foreach (AppointmentResourceTypeItem statusItem in statusItems) |
| { |
| RadMenuItem menuStatus = new RadMenuItem(statusItem.ResourceTypeItemDesc); |
| menuStatus.Value = statusItem.ResourceTypeItemID.ToString(); |
| menuRType.Items.Add(menuStatus); |
| } |
| context.Items.Add(menuRType); |
| } |
| RadMenuItem sep2 = new RadMenuItem(); |
| sep2.IsSeparator = true; |
| context.Items.Add(sep2); |
| RadMenuItem del = new RadMenuItem("Delete"); |
| del.Value = "CommandDelete"; |
| del.ImageUrl = "~/Presentation/Images/radDelete.gif"; |
| context.Items.Add(del); |
| rscSchedule.AppointmentContextMenus.Add(context); |
| } |