Beispiel #1
0
        protected void SetStateNode(RadTreeNode node)
        {
            if (node == null)
            {
                return;
            }

            if (!node.Enabled)
            {
                node.ImageUrl  = ResourceProvider.GetImageUrl(typeof(EntityTreeView), "spacer.png", true);
                node.Category  = string.Empty;
                node.Checkable = true;
                node.Checked   = false;
            }
            else if (string.IsNullOrEmpty(node.Category) && !node.Checked)
            {
                node.ImageUrl = ResourceProvider.GetImageUrl(typeof(EntityTreeView), "unchecked.png", true);
            }
            else if (string.IsNullOrEmpty(node.Category) && node.Checked)
            {
                node.ImageUrl = ResourceProvider.GetImageUrl(typeof(EntityTreeView), "checked.png", true);
            }
            else if (node.Category == "1")
            {
                node.ImageUrl = ResourceProvider.GetIconImageUrl("add.png", IconSize.Smaller, true);
                node.CheckChildNodes();
            }
            else if (node.Category == "2")
            {
                node.ImageUrl = ResourceProvider.GetIconImageUrl("cancel.png", IconSize.Smaller, true);
                DisableChildNodes(node);
            }

            node.Checkable = false;
        }
Beispiel #2
0
 protected void IconsList_ItemDataBound(object sender, DataListItemEventArgs e)
 {
     switch (e.Item.ItemType)
     {
     case ListItemType.Item:
     case ListItemType.AlternatingItem:
         Image img = e.Item.FindControl("Icon") as Image;
         if (img != null)
         {
             string iconFileName = (string)e.Item.DataItem;
             img.ImageUrl = ResourceProvider.GetIconImageUrl(iconFileName, this.IconSize, true);
             img.ToolTip  = iconFileName;
         }
         break;
     }
 }
Beispiel #3
0
        /// <summary>
        /// Raises the PreRender event and registers client scripts.
        /// </summary>
        /// <param name="e">An EventArgs that contains the event data.</param>
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            radFormDecorator = new RadFormDecorator();
            radFormDecorator.DecoratedControls = FormDecoratorDecoratedControls.CheckBoxes;
            Controls.Add(radFormDecorator);

            string script = @"

               function EnableAllChildren(nodes)
               {
                   var i;
                   for (i=0; i<nodes.get_count(); i++)
                   {
                       nodes.getNode(i).set_enabled(true);
                       nodes.getNode(i).set_checkable(true);
                       nodes.getNode(i).set_checked(false);
                       nodes.getNode(i).set_checkable(false);
                       nodes.getNode(i).set_imageUrl('" + ResourceProvider.GetImageUrl(typeof(EntityTreeView), "unchecked.png", true) + @"');

                       if (nodes.getNode(i).get_nodes().get_count()> 0)
                       {
                           EnableAllChildren(nodes.getNode(i).get_nodes());
                       }
                   }
               }

               function UpdateAllChildren(nodes, checked)
               {
                   var i;
                   for (i=0; i<nodes.get_count(); i++)
                   {
                       nodes.getNode(i).set_category('');
                       if (checked)
                       {
                           nodes.getNode(i).set_enabled(true);
                           nodes.getNode(i).set_checkable(true);
                           nodes.getNode(i).set_checked(true);
                           nodes.getNode(i).set_checkable(false);
                           nodes.getNode(i).set_imageUrl('" + ResourceProvider.GetImageUrl(typeof(EntityTreeView), "checked.png", true) + @"');
                       }
                       else
                       {                           
                           nodes.getNode(i).set_imageUrl('" + ResourceProvider.GetImageUrl(typeof(EntityTreeView), "spacer.png", true) + @"');    
                           nodes.getNode(i).set_checkable(true);
                           nodes.getNode(i).set_checked(false);
                           nodes.getNode(i).set_checkable(false);
                           nodes.getNode(i).set_enabled(false);
                       }
                       
                       if (nodes.getNode(i).get_nodes().get_count()> 0)
                       {
                           UpdateAllChildren(nodes.getNode(i).get_nodes(), checked);
                       }
                   }
               }

             function onClientNodeClicked(sender, eventArgs) 
             {
               var tree = $find('" + this.ClientID + @"');
               tree.trackChanges();
               var node = eventArgs.get_node();
               var childNodes = eventArgs.get_node().get_nodes();
               if (node.get_enabled())
               {
                   if ((node.get_category() == '' || node.get_category() == null) && !node.get_checked())
                   {                  
                      node.set_checkable(true);
                      node.set_checked(true);
                      node.set_checkable(false);
                      node.set_category(''); 
                      node.set_imageUrl('" + ResourceProvider.GetImageUrl(typeof(EntityTreeView), "checked.png", true) + @"');                                   
                   }
                   else if ((node.get_category() == '' || node.get_category() == null) && node.get_checked())
                   {
                      node.set_imageUrl('" + ResourceProvider.GetIconImageUrl("add.png", IconSize.Smaller, true) + @"');
                      node.set_category('1');
                      node.set_checkable(true);
                      node.set_checked(true);
                      node.set_checkable(false);
                      UpdateAllChildren(childNodes, true);
                   }
                   else if (node.get_category() == '1')
                   {
                      node.set_checkable(true);
                      node.set_checked(true);
                      node.set_checkable(false);
                      UpdateAllChildren(childNodes, false);
                      node.set_category('2');
                      node.set_imageUrl('" + ResourceProvider.GetIconImageUrl("cancel.png", IconSize.Smaller, true) + @"');              
                   }
                   else if (node.get_category() == '2')
                   {                 
                      node.set_checkable(true);
                      node.set_checked(false);
                      node.set_checkable(false);
                      node.set_category('');        
                      node.set_imageUrl('" + ResourceProvider.GetImageUrl(typeof(EntityTreeView), "unchecked.png", true) + @"');
                      EnableAllChildren(childNodes);
                   }
               }
               tree.commitChanges();
            }";

            ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "EntityTreeView_onClientNodeClicked", script, true);
        }