/// <summary> /// Reloads the tree data. /// </summary> public void ReloadData() { var elementProvider = new UniTreeProvider { QueryName = "cms.uielement.selecttree", DisplayNameColumn = "ElementDisplayName", IDColumn = "ElementID", LevelColumn = "ElementLevel", OrderColumn = "ElementOrder", ParentIDColumn = "ElementParentID", PathColumn = "ElementIDPath", ValueColumn = "ElementID", ChildCountColumn = "ElementChildCount", ImageColumn = "ElementIconPath", Parameters = new QueryDataParameters { { "@RoleID", RoleID } }, IconClassColumn = "ElementIconClass" }; treeElem.ExpandTooltip = GetString("general.expand"); treeElem.CollapseTooltip = GetString("general.collapse"); treeElem.UsePostBack = false; treeElem.EnableRootAction = false; treeElem.ProviderObject = elementProvider; if (SingleModule) { ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(ModuleID); if (ri != null) { root = UIElementInfoProvider.GetModuleTopUIElement(ModuleID); if (root != null) { treeElem.ExpandPath = root.ElementIDPath; string links = null; if (Enabled) { links = string.Format(SELECT_DESELECT_LINKS, root.ElementID, "false", CallbackRef, GetString("uiprofile.selectall"), GetString("uiprofile.deselectall")); } string rootText = HTMLHelper.HTMLEncode(ri.ResourceDisplayName) + links; treeElem.SetRoot(rootText, root.ElementID.ToString(), ResolveUrl(root.ElementIconPath)); elementProvider.RootLevelOffset = root.ElementLevel; } if (!ShowAllElementsFromModuleSection) { elementProvider.WhereCondition = "ElementResourceID = " + ModuleID; } } } else { if (ModuleID > 0) { var where = $@"ElementResourceID = {ModuleID} AND (ElementParentID IS NULL OR ElementParentID NOT IN (SELECT ElementID FROM CMS_UIElement WHERE ElementResourceID={ModuleID})) AND (NOT EXISTS (SELECT ElementIDPath FROM CMS_UIElement AS u WHERE CMS_UIElement.ElementIDPath LIKE u.ElementIDPath + '%' AND ElementResourceID = {ModuleID} AND u.ElementIDPath != CMS_UIElement.ElementIDPath))"; var idPaths = UIElementInfoProvider.GetUIElements() .Where(where) .WhereNotEmpty("ElementIDPath") .Columns("ElementIDPath") .OrderByAscending("ElementLevel") .GetListResult <string>(); var expandedPath = String.Empty; if (idPaths.Any()) { expandedPath = String.Join(";", idPaths) + ";"; } treeElem.ExpandPath = expandedPath; } } treeElem.ReloadData(); }
/// <summary> /// Reloads the tree data. /// </summary> public void ReloadData() { // Prepare the parameters QueryDataParameters parameters = new QueryDataParameters(); parameters.Add("@RoleID", RoleID); // Create and set UIElements provider UniTreeProvider elementProvider = new UniTreeProvider(); elementProvider.QueryName = "cms.uielement.selecttree"; elementProvider.DisplayNameColumn = "ElementDisplayName"; elementProvider.IDColumn = "ElementID"; elementProvider.LevelColumn = "ElementLevel"; elementProvider.OrderColumn = "ElementOrder"; elementProvider.ParentIDColumn = "ElementParentID"; elementProvider.PathColumn = "ElementIDPath"; elementProvider.ValueColumn = "ElementID"; elementProvider.ChildCountColumn = "ElementChildCount"; elementProvider.ImageColumn = "ElementIconPath"; elementProvider.Parameters = parameters; elementProvider.IconClassColumn = "ElementIconClass"; treeElem.ExpandTooltip = GetString("general.expand"); treeElem.CollapseTooltip = GetString("general.collapse"); treeElem.UsePostBack = false; treeElem.EnableRootAction = false; treeElem.ProviderObject = elementProvider; if (SingleModule) { ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(ModuleID); if (ri != null) { root = UIElementInfoProvider.GetModuleTopUIElement(ModuleID); if (root != null) { treeElem.ExpandPath = root.ElementIDPath; string links = null; if (Enabled) { links = string.Format(SELECT_DESELECT_LINKS, root.ElementID, "false", CallbackRef, GetString("uiprofile.selectall"), GetString("uiprofile.deselectall")); } string rootText = HTMLHelper.HTMLEncode(ri.ResourceDisplayName) + links; treeElem.SetRoot(rootText, root.ElementID.ToString(), ResolveUrl(root.ElementIconPath)); elementProvider.RootLevelOffset = root.ElementLevel; } elementProvider.WhereCondition = "ElementResourceID=" + ModuleID; } } else { if (ModuleID > 0) { String where = String.Format(@"ElementResourceID = {0} AND (ElementParentID IS NULL OR ElementParentID NOT IN (SELECT ElementID FROM CMS_UIElement WHERE ElementResourceID={0})) AND (NOT EXISTS (SELECT ElementIDPath FROM CMS_UIElement AS u WHERE CMS_UIElement.ElementIDPath LIKE u.ElementIDPath + '%' AND ElementResourceID = {0} AND u.ElementIDPath != CMS_UIElement.ElementIDPath))", ModuleID); DataSet ds = UIElementInfoProvider.GetUIElements(where, "ElementLevel ASC"); String expandedPath = String.Empty; if (!DataHelper.DataSourceIsEmpty(ds)) { foreach (DataRow dr in ds.Tables[0].Rows) { String path = ValidationHelper.GetString(dr["ElementIDPath"], String.Empty); if (path != String.Empty) { expandedPath += path + ";"; } } } treeElem.ExpandPath = expandedPath; } } treeElem.ReloadData(); }