I have a problem with the tree list view. I understand that out of the box the ASP.NET Ajax version of the TreeListView is supposed to support the Drop Line Indicator but on my implementation of the control I don't have that. Is there something that I am doing or something that I should turn on? I have looked through the documentation and I have looked through the forums and I keep getting references to wpf and silverlight and nothing on the asp.net AJAX control. So a little help would be great. Also attached is a screen shot of the site where I have this to show that I am not getting any indicator. Here's my code:
Here is my code:
<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" /> <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>Here is my code:
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.ItemCommand += MenuManager_ItemCommand; MenuManager.InsertCommand += MenuManager_InsertCommand; MenuManager.UpdateCommand += MenuManager_UpdateCommand; MenuManager.DeleteCommand += MenuManager_DeleteCommand; MenuManager.ItemDataBound += MenuManager_ItemDataBound; MenuManager.ClientSettings.AllowItemsDragDrop = true; MenuManager.ClientSettings.Selecting.AllowItemSelection = true; MenuManager.AllowMultiItemSelection = true; MenuManager.DataKeyNames = DataKey; MenuManager.ParentDataKeyNames = ParentKey; MenuManager.ItemDrop += MenuManager_RowDrop; MenuManager.GridLines = TreeListGridLines.Both; 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){ if (e.Item is TreeListDataItem) { TreeListDataItem item = (TreeListDataItem)e.Item; if (item["MenuItemEnabled"].Text == "True") { item["MenuItemEnabled"].Text = "Enabled"; } else { item["MenuItemEnabled"].Text = "Disabled"; } if (item["MenuUrl"].Text.Contains("?CID=")) { item["MenuUrl"].Attributes.Add("style", "color:#AAA"); } }}protected void MenuManager_InsertCommand(object sender, TreeListCommandEventArgs e){ TreeListEditFormItem item = e.Item as TreeListEditFormItem; UserControl MenuForm = (UserControl)e.Item.FindControl(TreeListEditFormItem.EditFormUserControlID); int parentID = 0; if (item.ParentItem != null) { 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"); docUpload.MaxFileSize = 10000000; 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){ TreeListEditFormItem item = e.Item as TreeListEditFormItem; UserControl MenuForm = (UserControl)e.Item.FindControl(TreeListEditFormItem.EditFormUserControlID); int thisMenu = (int)item.ParentItem.GetDataKeyValue("MenuID"); RadComboBox menuType = (RadComboBox)MenuForm.FindControl("MenuSelectList"); RadTextBox menuText = (RadTextBox)MenuForm.FindControl("MenuText"); CheckBox enabled = (CheckBox)MenuForm.FindControl("MenuItemEnabled"); switch (new SubCategory().SelectThisSubCategory(Convert.ToInt32(menuType.SelectedValue), PCSSession.Current.SiteID).TypeDescription.ToLower()) { case "editable content": RadTextBox pageTitle = (RadTextBox)MenuForm.FindControl("PageTitle"); CheckBox defaultHomepage = (CheckBox)MenuForm.FindControl("DefaultHomepage"); if (new SiteMenu().UpdateThisMenuItem(ThisSiteID, thisMenu, menuType.SelectedValue, menuText.Text, pageTitle.Text, enabled.Checked, defaultHomepage.Checked)) { Response.Redirect("/admin/menuManager/"); } break; case "document link": UploadedFile uploadedFile = null; RadUpload docUpload = (RadUpload)MenuForm.FindControl("DocumentLink"); docUpload.MaxFileSize = 10000000; if (docUpload.UploadedFiles.Count > 0) { uploadedFile = docUpload.UploadedFiles[0]; if (new SiteMenu().UpdateThisDocumentLink(thisMenu, menuType.SelectedValue, menuText.Text, uploadedFile.GetName(), enabled.Checked)) { Response.Redirect("/admin/menuManager/"); } } else { if (new SiteMenu().UpdateThisMenuText(thisMenu, menuType.SelectedValue, menuText.Text, enabled.Checked)) { Response.Redirect("/admin/menuManager/"); } } break; case "external / custom link": RadTextBox linkUrl = (RadTextBox)MenuForm.FindControl("LinkUrl"); RadComboBox target = (RadComboBox)MenuForm.FindControl("LinkTarget"); if (new SiteMenu().UpdateThisExternalLink(thisMenu, menuType.SelectedValue, menuText.Text, linkUrl.Text, target.SelectedItem.Text, enabled.Checked)) { Response.Redirect("/admin/menuManager/"); } break; case "chamber modules": RadComboBox moduleType = (RadComboBox)MenuForm.FindControl("ModulePageType"); if (new SiteMenu().UpdateThisModuleMenuItem(thisMenu, menuType.SelectedValue, menuText.Text, moduleType.SelectedValue, enabled.Checked)) { Response.Redirect("/admin/menuManager/"); } break; }}protected void MenuManager_DeleteCommand(object sender, TreeListCommandEventArgs e){ TreeListDataItem item = e.Item as TreeListDataItem; int thisMenuItem = (int)item.GetDataKeyValue("MenuID"); int menuType = new SiteMenu().SelectThisMenuItem(thisMenuItem, ThisSiteID).MenuTypeID; switch (new SubCategory().SelectThisSubCategory(menuType, ThisSiteID).TypeDescription.ToLower()) { case "document link": if (new SiteMenu().DeleteThisDocumentLink(thisMenuItem)) { Response.Redirect("/admin/menuManager/"); } break; case "editable content": if (new SiteMenu().DeleteTheEditableContentPage(thisMenuItem)) { Response.Redirect("/admin/menuManager/"); } break; default: if (new SiteMenu().DeleteThisMenuItem(thisMenuItem)) { Response.Redirect("/admin/menuManager/"); } break; }}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/"); } } }}