I'm having a problem with my rad docks. All my docks are created in code behind. I add the title and the commands in code behind as well. Everything works fine to that point. Now I am trying to add a control to the title bar. When I add it the vertical position of the commands is pushed down causing them to be hidden from view.
I have tried to implement a custom titlebar template, but I have not found out how to control the placement of the commands.
Here is some code creating the rad dock.
| //Create the Rad Dock and set properties |
| RadDock rd = new RadDock (); |
| rd.DockMode = DockMode.Docked; |
| rd.UniqueName = Guid.NewGuid().ToString(); |
| rd.ID = string.Format("rd{0}",rd.UniqueName); |
| rd.Width = Unit.Percentage(99); |
| rd.Skin = "Custom"; |
| rd.EnableEmbeddedSkins = false ; |
| rd.EnableRoundedCorners = true ; |
| rd.Title = "Title"; |
| rd.Command += new |
| DockCommandEventHandler(rd_Command); |
| DockCommand cmd = new DockCommand(); |
| cmd.AutoPostBack = true; |
| cmd.Name = hideCommand; |
| cmd.Text = "Hide"; |
| rd.Commands.Add(cmd); |
| rd.Commands.Add(new DockExpandCollapseCommand()); |
Here is the code to add the Icon and title to the title bar.
| Label lbl = new Label(); |
| lbl.ID = "lbl" + rd.ID; |
| lbl.EnableViewState = true; |
| lbl.Width = Unit.Pixel(250); |
| lbl.Text = "My Desired Content"; |
| Image mg = new Image(); |
| mg.ImageUrl = "~/demo/oldData.jpg"; |
| mg.ID = "mg" + rd.ID; |
| // This method here will add a tooltip to the image |
| // so users can see old data on mouseover. |
| CreatePastDataToolTip(rd,null, mg.ID); |
| rd.ContentContainer.Controls.Add(lbl); |
| rd.TitlebarTemplate = new TitleBarTemplate(); |
| rd.TitlebarContainer.Controls[0].FindControl(TitleBarContent).Controls.Add(mg); |
| public class TitleBarTemplate : ITemplate |
| { |
| Label lblText = new Label(); |
| Panel pContainer = new Panel(); |
| Panel pControls = new Panel(); |
| public void InstantiateIn(Control container) |
| { |
| Literal l; |
| lblText.ID = "TitleText"; |
| lblText.Text = "Initial Text"; |
| //pControls.CssClass = "rdTitleControls"; |
| pControls.ID = "PanelForControls"; |
| l = new Literal(); |
| l.Text = "<table><tr><td>"; |
| pContainer.Controls.Add(l); |
| pContainer.Controls.Add(lblText); |
| l = new Literal(); |
| l.Text = "</td><td>"; |
| pContainer.Controls.Add(l); |
| pContainer.Controls.Add(pControls); |
| l = new Literal(); |
| l.Text = "</td></tr></table>"; |
| pContainer.Controls.Add(l); |
| container.Controls.Add(pContainer); |
| } |
| } |
| <telerik:RadPanelBar runat="server" ID="itemToolbar" Width="231px" Height="500px" ExpandMode="SingleExpandedItem" AllowCollapseAllItems="true"> |
| <DataBindings> |
| <telerik:RadPanelItemBinding CssClass="anItem" Depth="1" /> |
| </DataBindings> |
| </telerik:RadPanelBar> |
| <telerik:RadContextMenu ID="itemMenu" runat="server" OnClientItemClicked="subItemClicked" /> |
| $(document).ready(function() { |
| var isShown = false; |
| var hoverIntentConfig = { |
| sensitivity: 1, |
| interval: 200, // number = milliseconds for onMouseOver polling interval |
| over: function(e) { |
| var itemName = $(this).text(); |
| var panelBar = $find("<%= itemToolbar.ClientID %>"); |
| var theItem = panelBar.findItemByText(itemName); |
| if (theItem != null) { |
| showItemMenu(theItem.get_element(), itemName); |
| } |
| }, // function = onMouseOver callback (REQUIRED) |
| timeout: 500, // number = milliseconds delay before onMouseOut |
| out: function(e) { |
| } // function = onMouseOut callback (REQUIRED) |
| }; |
| // Setup the hoverIntent for every item in the panelBar |
| $('.anItem').hoverIntent(config); |
| }); |
| var oldItem = null; |
| var isCalled = false; |
| function showItemMenu(targetControl, itemName) { |
| var theMenu = $find("<%= itemMenu.ClientID %>"); |
| theMenu.removeTargetElement(targetControl); |
| isCalled = true; |
| $.ajax({ |
| type: 'POST', |
| url: "SamplePage.aspx/GetItemList", |
| data: "{'itemName':'" + itemName+ "'}", |
| contentType: "application/json; charset=utf-8", |
| dataType: "json", |
| success: function(result) { |
| if (isCalled == true) { |
| var menu = $find("<%= itemMenu.ClientID %>"); |
| menu.trackChanges(); |
| // Empty the context menu out |
| menu.get_items().clear(); |
| var resultItems = result.d.split(","); |
| for (var i = 0; i < resultItems.length; i += 1) { |
| var subItem = new Telerik.Web.UI.RadMenuItem(); |
| subItem .set_text(resultItems[i]); |
| menu.get_items().add(subItem); |
| } |
| menu.commitChanges(); |
| oldItem = targetControl; |
| menu.addTargetElement(targetControl); |
| var offset = $(targetControl).offset(); |
| menu.showAt(offset.left + 50, offset.top); |
| isCalled = false; |
| } |
| }, |
| error: function(result) { |
| if (isCalled == true) { |
| alert(result.status + " " + result.statusText); |
| isCalled = false; |
| } |
| } |
| }); |
| } |
| <telerik:RadUpload ID="RadUploadEmployeePhoto" runat="server" |
| ControlObjectsVisibility="None" InitialFileInputsCount="1" |
| MaxFileInputsCount="1" /> |
Posted 0 minutes ago (permalink)
var objradDateValidity = $find("<%= radValidity.ClientID %>");
objradDateValidity.set_enabled(false);
2. Then after some businees logic ,I make it enable as follows
var objradDateValidity = $find("<%= radValidity.ClientID %>");
objradDateValidity.set_enabled(true);
3. And Now if I change date value using Date popup button and again try to make it disable , it throws "Object Required" error.
4. If I dont change date value and try to make it disable, it does it without throwing any error.

| .RadScheduler .rsAptContent, |
| .RadScheduler .rsAptMid .rsAptIn, |
| .RadScheduler .rsAptMid, |
| .RadScheduler .rsAptOut |
| { |
| background:red !important; |
| } |
