or

<telerik:RadPanelBar runat="server" ID="RadPanelBar1" ExpandMode="FullExpandedItem" Width="300" PersistStateInCookie="True" Height="100%" OnClientItemExpand="OnClientItemExpand"> <Items> <telerik:RadPanelItem Text="HOME" Expanded="True" ImageUrl="images/Menu/Home.png" Visible="true" Font-Bold="true"> <Items> <telerik:RadPanelItem ImageUrl="images/Menu/Home_OrgChart.png" NavigateUrl="/pdf/OrgChart.pdf" Target="_blank" Text="Organizational Chart"></telerik:RadPanelItem> <telerik:RadPanelItem ImageUrl="images/Menu/Home_PersonalPolicy.png" NavigateUrl="/pdf/OrgChart.pdf" Target="_blank" Text="Personnel Policy"></telerik:RadPanelItem> <telerik:RadPanelItem ImageUrl="images/Menu/Home_Phone-16.png" NavigateUrl="/pdf/VoiceMail.pdf" Target="_blank" Text="Voice Mail Reference Sheet"></telerik:RadPanelItem> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> <telerik:RadPanelItem Text="FAVORITES" Expanded="True" ImageUrl="images/Menu/Favorites.png" Visible="false" Font-Bold="true"> </telerik:RadPanelItem> </Items> <ExpandAnimation Type="OutQuart" /> <CollapseAnimation Type="OutQuart" /> </telerik:RadPanelBar>01.//C# (MyCustomGridItemTemplateColumn.cs file)02.public class MyCustomGridItemTemplateColumn : ITemplate03. {04. public event RadComboBoxSelectedIndexChangedEventHandler OnMyControlSelectedIndexChanged;05. 06. public string ClientHandlerMethod = "MyLibrary.UI.MyControl.OnMyControlChanging";07. public string ColumnName { get; private set; }08. 09. public MyCustomGridItemTemplateColumn(string ColumnName)10. {11. this.ColumnName = ColumnName;12. this.OnMyControlSelectedIndexChanged += MyControlGridItemTemplateColumn_OnMyControlSelectedIndexChanged;13. }14. 15. //Exposes the event to be handled on the codebehind16. void MyControlGridItemTemplateColumn_OnMyControlSelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e) {}17. 18. public void InstantiateIn(Control container)19. {20. RadComboBox cbMyControl = new RadComboBox();21. cbMyControl.ID = "cbMyControl_" + ColumnName;22. cbMyControl.DataBinding += cbMyControl_DataBinding;23. cbMyControl.SelectedIndexChanged += cbMyControl_SelectedIndexChanged;24. cbMyControl.OnClientSelectedIndexChanging = @"function(sender, e){e._cancel = true;console.log('MyControl [IndexChanging] => %o %o', sender, e);}";25. cbMyControl.OnClientSelectedIndexChanged = @"function(sender, e){console.log('MyControl [IndexChanged] => %o %o',sender, e);}";26. cbMyControl.EnableViewState = false; 27. container.Controls.Add(cbMyControl); 28. }29. 30. void cbMyControl_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)31. {32. this.OnMyControlSelectedIndexChanged(sender, e);33. }34. 35. void cbMyControl_DataBinding(object sender, EventArgs e)36. {37. RadComboBox cbMyControl = (RadComboBox)sender;38. //GridDataItem container = (GridDataItem)cbMyControl.NamingContainer;39. //MyClassObjectModel model = (MyClassObjectModel)container.DataItem;40. 41. cbMyControl.Items.Add(new RadComboBoxItem("Please Select", "NotSet"));42. cbMyControl.Items.Add(new RadComboBoxItem("First Choice", "1019q231"));43. cbMyControl.Items.Add(new RadComboBoxItem("Second Choice", "21vc3131"));44. cbMyControl.Items.Add(new RadComboBoxItem("Third Choice", "34Af3343"));45. 46. cbMyControl.OnClientSelectedIndexChanging = String.Format(@"function(sender, e){{ e._cancel = !({0}(sender, e));{1}}}", 47. ClientHandlerMethod, 48. @" console.log(""MyControl [IndexChanging] %o %o "", sender, e);"49. );50. }51.}01./* JS - Handler.js file */02.(function(window){03.window.MyLibrary = {04. "UI" : {05. "MyControl" : {06. "OnMyControlChanging" : function (sender, e) {07. var arg = MyLibrary.Common.GetDataKeyValues(e); }
08. }09. },10. "Common" : {11. "GetDataKeyValues" : function(e) {12. var max = 4;13. var iteration = 0;14. 15. var result = {16. "FirstKeyID": {},17. "SecondKeyID": {},18. "ThirdKeyID": {}19. };20. 21. var gridTableView = e.get_item();22. iteration = 0;23. while (!(gridTableView instanceof Telerik.Web.UI.GridTableView) && !(iteration >= max)) {24. gridTableView = gridTableView.get_parent() || gridTableView; //null check on get_parent()25. iteration += 1;26. }27. 28. gridTableView.get_dataItems(); //e has now been mutated; the results of this method call do not matter29. 30. var gridDataItem = e.get_item();31. iteration = 0;32. while (!(gridDataItem instanceof Telerik.Web.UI.GridDataItem) && !(iteration >= max)) {33. gridDataItem = gridDataItem.get_parent() || gridDataItem; //null check on get_parent()34. iteration += 1;35. }36. 37. result.FirstKeyID = gridDataItem.GetDataKeyValue("FirstKeyID");38. result.SecondKeyID = gridDataItem.GetDataKeyValue("SecondKeyID");39. result.ThirdKeyID = gridDataItem.GetDataKeyValue("ThirdKeyID");40. 41. return result;42. }43. }44.};45.}(window)); <telerik:LayoutRow> <Columns> <telerik:LayoutColumn Span="12" SpanXs="12" SpanSm="12"> <div style="background-color: #EEEEEE; margin-top: 10px;"> <telerik:RadEditor ID="RadEditor1" runat="server" EditType="Inline" Width="100%" Enabled="True"> <Content> <div> <h2 class="titleText">RadEditor for ASP.NET AJAX</h2> <p style="text-align: justify;"> <span style="color: #4f6128; font-size: 19px;"><strong>RadEditor</strong></span><span style="color: #4f6128;"> </span>is not simply an HTML <a href="#HTMLDescription"> <sup>1</sup> </a> Editor. It is what Microsoft chose to use in <strong>MSDN</strong>, <strong>CodePlex</strong>, <strong>TechNet</strong>, <strong>MCMS</strong> and even as an alternative to the default editor in <a href="http://www.telerik.com/products/aspnet-ajax/sharepoint.aspx">SharePoint</a>. </p> </div> </Content></telerik:RadEditor> </div> </telerik:LayoutColumn> </Columns> </telerik:LayoutRow>| <telerik:RadGrid ID="grdComponent" runat="server"> |
| <MasterTableView GroupLoadMode="Server"> |
| <NestedViewTemplate> |
| <uc:ReviewerGrid ID="ReviewerGrid" runat="server" ReviewId='<%# Eval("ReviewId") %>' /> |
| </NestedViewTemplate> |
| <DetailTables> |
| </DetailTables> |
| </MasterTableView> |
| </telerik:RadGrid> |
| With grdReviewer |
| .ClientSettings.EnablePostBackOnRowClick = False |
| .AllowSorting = False |
| .ClientSettings.Selecting.AllowRowSelect = False |
| End With |
<asp:ScriptManager ID="Scriptmanager1" runat="server" /><asp:TextBox ID="Textbox1" runat="server" /><telerik:RadButton ID="RadButton1" runat="server" Text="Submit" /><asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ErrorMessage="Enter a value in the input" ControlToValidate="Textbox1" />WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'. Please add a ScriptResourceMapping named jquery(case-sensitive).
var def = new ScriptResourceDefinition(){ ResourceName = "Telerik.Web.UI.Common.jQuery.js", ResourceAssembly = System.Reflection.Assembly.GetAssembly(typeof(Telerik.Web.UI.RadWebControl))};ScriptManager.ScriptResourceMapping.AddDefinition("jquery", def);