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; }
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; } }
/// <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); }