or
<Columns> <telerik:GridDropDownColumn UniqueName="Combo1" DropDownControlType="RadComboBox" DataField="Combo1data" DataSourceID="odcCombo1" ListValueField="Description1" ListTextField="Description1" ColumnEditorID="edtCombo1" HeaderText="Main" HeaderStyle-Width="120px" ItemStyle-Width="120px"></telerik:GridDropDownColumn> <telerik:GridDropDownColumn UniqueName="Combo2" DropDownControlType="RadComboBox" DataField="Combo2data" DataSourceID="odcCombo2" ListValueField="Description2" ListTextField="Description2" ColumnEditorID="edtCombo2" HeaderText="Depend" HeaderStyle-Width="100px" ItemStyle-Width="100px"></telerik:GridDropDownColumn> <telerik:GridTemplateColumn UniqueName="NumData1" DataField="Data1" ItemStyle-ForeColor="Black" HeaderText="NumData" ItemStyle-Width="55px" HeaderStyle-Width="55px" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" > <ItemTemplate> <asp:Label runat="server" ID="lblData1" Text='<%# Eval("Data1", "{0:C}") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <span><telerik:RadNumericTextBox runat="server" ID="tbData1" Width="55px" DbValue='<%# Bind("Data1") %>' MinValue="10000000" MaxValue="99999999" MaxLength="8"><NumberFormat DecimalDigits="0" GroupSeparator="" /> </telerik:RadNumericTextBox><span style="color: Red"><asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="tbData1" ErrorMessage="*" runat="server"></asp:RequiredFieldValidator> </span> </EditItemTemplate> protected void grdTimeCard_ItemCreated(object sender, GridItemEventArgs e) { //create fire event when it's in edit mode if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem editItem = (GridEditableItem)e.Item; GridDropDownListColumnEditor editor = (GridDropDownListColumnEditor)editItem.EditManager.GetColumnEditor("Entry"); editor.ComboBoxControl.AutoPostBack = true; editor.ComboBoxControl.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(list_SelectedIndexChanged); } } private void list_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e) { }protected void grdTimeCard_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridEditableItem && e.Item.IsInEditMode) { string defaultCombo1 = ""; GridDataItem dataItem = e.Item as GridDataItem; GridEditableItem editItem = (GridEditableItem)e.Item; //do nothing if it's insert itme if (e.Item is GridDataInsertItem) { } else { // if it's edit mode defaultCombo1 = ((DataRowView)e.Item.DataItem)["Combo1"].ToString(); try { RequiredFieldValidator validator1 = (RequiredFieldValidator)editItem.FindControl("RequiredFieldValidator1"); if (defaultCombo1 == "Regular" ) validator1.Enabled = true; else validator1.Enabled = false; <telerik:RadGrid ID="rgridChemValues" runat="server" CssClass="gridview-custom" Skin="Transparent" OnPreRender="rgridChemValues_PreRender" AllowMultiRowEdit="True" EnableViewState="true" oncolumncreated="rgridChemValues_ColumnCreated" ShowFooter="True"> <MasterTableView AutoGenerateColumns="true" EditMode="InPlace" CommandItemDisplay="TopAndBottom"> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> <HeaderStyle Width="100px" /> <CommandItemTemplate> </CommandItemTemplate> <CommandItemSettings ExportToPdfText="Export to PDF" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" Visible="True"> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" Visible="True"> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn HeaderText="FieldApplicationKeyVS" Display="false" DataField="FieldApplicationKey" UniqueName="FieldApplicationKeyVisible"> </telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings> <ClientEvents OnRowContextMenu="RowContextMenu"></ClientEvents> <Selecting AllowRowSelect="true" /> </ClientSettings> <FilterMenu EnableImageSprites="False"> </FilterMenu> </telerik:RadGrid>

<div id="DropUnderWrapper"> <asp:CheckBox ID="IsUnder" runat="server" Text=" Drop Under Parent" /></div><telerik:RadTreeList ID="MenuManager" runat="server"> <Columns> <telerik:TreeListBoundColumn DataField="MenuText" HeaderText="Menu Name" UniqueName="Name" /> <telerik:TreeListHyperLinkColumn DataNavigateUrlFields="SitePageID" DataNavigateUrlFormatString="/admin/pageManager/?CID={0}" DataTextField="PageTitle" HeaderText="Url Title" UniqueName="PageTitle" /> <telerik:TreeListBoundColumn DataField="MenuUrl" HeaderText="Url" UniqueName="MenuUrl" /> <telerik:TreeListBoundColumn DataField="MenuTarget" HeaderText="Target" UniqueName="MenuTarget" HeaderStyle-Width="60px" /> <telerik:TreeListBoundColumn DataField="IsEnabled" HeaderText="Status" UniqueName="MenuItemEnabled" HeaderStyle-Width="60px" /> <telerik:TreeListEditCommandColumn ButtonType="ImageButton" HeaderStyle-Width="60px" AddRecordText="Add Menu Item" Reorderable="false" /> <telerik:TreeListButtonColumn ButtonType="ImageButton" ButtonCssClass="deleteConfirm" CommandName="Delete" HeaderStyle-Width="30px" /> </Columns> <EditFormSettings UserControlPath="~/includes/userControls/MenuForm.ascx" EditFormType="WebUserControl"> </EditFormSettings> <ClientSettings AllowItemsDragDrop="true"> <Selecting AllowItemSelection="True" /> </ClientSettings></telerik:RadTreeList>private string[] DataKey = { "MenuID" };private string[] ParentKey = { "ParentID" };private List<SiteMenu> MenuList = new List<SiteMenu>();protected override void OnInit(EventArgs e){ base.OnInit(e); MenuManager.Skin = "Default"; MenuManager.AllowPaging = false; MenuManager.AutoGenerateColumns = false; MenuManager.GridLines = TreeListGridLines.Both; MenuManager.ShowTreeLines = false; MenuManager.NeedDataSource += MenuManager_NeedDataSource; MenuManager.InsertCommand += MenuManager_InsertCommand; MenuManager.UpdateCommand += MenuManager_UpdateCommand; MenuManager.DeleteCommand += MenuManager_DeleteCommand; MenuManager.ItemDataBound += MenuManager_ItemDataBound; MenuManager.ItemCommand += MenuManager_ItemCommand; MenuManager.ClientSettings.AllowItemsDragDrop = true; MenuManager.ClientSettings.Selecting.AllowItemSelection = true; MenuManager.AllowMultiItemSelection = true; MenuManager.DataKeyNames = DataKey; MenuManager.ParentDataKeyNames = ParentKey; MenuManager.ItemDrop += MenuManager_RowDrop; MenuList = new SiteMenu().SelectAllPublicMenuItemsBySiteIDNotDeleted(ThisSiteID);}protected override void OnLoad(EventArgs e){ base.OnLoad(e); if (!IsPostBack) { MenuManager.ExpandToLevel(1); }}protected void MenuManager_NeedDataSource(object sender, TreeListNeedDataSourceEventArgs e){ MenuManager.DataSource = MenuList;}protected void MenuManager_ItemCommand(object sender, TreeListCommandEventArgs e){ if (e.CommandName == RadTreeList.InitInsertCommandName) { MenuManager.ClientSettings.Reordering.AllowColumnsReorder = false; } if (e.CommandName == RadTreeList.CancelCommandName) { MenuManager.ClientSettings.Reordering.AllowColumnsReorder = true; }}protected void MenuManager_ItemDataBound(object sender, TreeListItemDataBoundEventArgs e){ //irrelevant}protected void MenuManager_InsertCommand(object sender, TreeListCommandEventArgs e){ TreeListEditFormItem item = e.Item as TreeListEditFormItem; UserControl MenuForm = (UserControl)e.Item.FindControl(TreeListEditFormItem.EditFormUserControlID); int parentID = (int)item.ParentItem.GetDataKeyValue("MenuID"); RadComboBox menuType = (RadComboBox)MenuForm.FindControl("MenuSelectList"); RadTextBox menuText = (RadTextBox)MenuForm.FindControl("MenuText"); switch (menuType.SelectedItem.Text) { case "Editable Content": RadTextBox pageTitle = (RadTextBox)MenuForm.FindControl("PageTitle"); CheckBox defaultHomepage = (CheckBox)MenuForm.FindControl("DefaultHomepage"); if (new SiteMenu().InsertNewMenuItem(parentID, menuText.Text, pageTitle.Text, defaultHomepage.Checked)) { Response.Redirect("/admin/menuManager/"); } break; case "Document Link": UploadedFile uploadedFile = null; RadUpload docUpload = (RadUpload)MenuForm.FindControl("DocumentLink"); if (docUpload.UploadedFiles.Count > 0) { uploadedFile = docUpload.UploadedFiles[0]; } if (new SiteMenu().InsertNewDocumentLink(parentID, menuText.Text, uploadedFile.GetName())) { Response.Redirect("/admin/menuManager/"); } break; case "External / Custom Link": RadTextBox linkUrl = (RadTextBox)MenuForm.FindControl("LinkUrl"); RadComboBox target = (RadComboBox)MenuForm.FindControl("LinkTarget"); if (new SiteMenu().InsertExternalLink(parentID, menuText.Text, linkUrl.Text, target.Text)) { Response.Redirect("/admin/menuManager/"); } break; case "Chamber Modules": RadComboBox moduleType = (RadComboBox)MenuForm.FindControl("ModulePageType"); if (new SiteMenu().InsertNewModuleMenuItem(parentID, menuText.Text, moduleType.SelectedValue)) { Response.Redirect("/admin/menuManager/"); } break; }}protected void MenuManager_UpdateCommand(object sender, TreeListCommandEventArgs e){ //irrelevant}protected void MenuManager_DeleteCommand(object sender, TreeListCommandEventArgs e){ //irrelevant}protected void MenuManager_RowDrop(object sender, TreeListItemDragDropEventArgs e){ int key = (int)e.DraggedItems[0].GetDataKeyValue("MenuID"); int destinationId = 0; int sortOrder = 0; if (IsUnder.Checked) { destinationId = (int)e.DestinationDataItem.GetDataKeyValue("MenuID"); sortOrder = 1; } else { destinationId = (int)e.DestinationDataItem.GetParentDataKeyValue("ParentID"); sortOrder = new SiteMenu().SelectThisMenuItem((int)e.DestinationDataItem.GetDataKeyValue("MenuID"), ThisSiteID).SortOrder + 1; } if (destinationId == 0) { if (key != destinationId) { MenuList.FirstOrDefault(i => i.MenuID == key).ParentID = destinationId; MenuList.FirstOrDefault(i => i.MenuID == key).SortOrder = sortOrder; foreach (SiteMenu menuItem in MenuList.Where(i => i.ParentID == destinationId)) { if (menuItem.SortOrder >= sortOrder && menuItem.MenuID != key) { menuItem.SortOrder += 1; } } if (new SiteMenu().UpdateMenuListByParentID(destinationId, MenuList.Where(i => i.ParentID == destinationId).ToList())) { Response.Redirect("/admin/menuManager/"); } } } else { if (key != destinationId && key != MenuList.FirstOrDefault(i => i.MenuID == destinationId).ParentID) { MenuList.FirstOrDefault(i => i.MenuID == key).ParentID = destinationId; MenuList.FirstOrDefault(i => i.MenuID == key).SortOrder = sortOrder; foreach (SiteMenu menuItem in MenuList.Where(i => i.ParentID == destinationId)) { if (menuItem.SortOrder >= sortOrder && menuItem.MenuID != key) { menuItem.SortOrder += 1; } } if (new SiteMenu().UpdateMenuListByParentID(destinationId, MenuList.Where(i => i.ParentID == destinationId).ToList())) { Response.Redirect("/admin/menuManager/"); } } }}