|
using System; |
|
using System.Configuration; |
|
using System.Data; |
|
using System.Linq; |
|
using System.Web; |
|
using System.Web.Security; |
|
using System.Web.UI; |
|
using System.Web.UI.HtmlControls; |
|
using System.Web.UI.WebControls; |
|
using System.Web.UI.WebControls.WebParts; |
|
using System.Xml.Linq; |
|
|
|
using Telerik.Web.UI; |
|
|
|
public partial class _Default : System.Web.UI.Page |
|
{ |
|
protected void Page_Load(object sender, EventArgs e) |
|
{ |
|
String[] NodeNames = new String[] { "Root Node 1", "Root Node 2", "Root Node 3" }; |
|
|
|
foreach (String name in NodeNames) |
|
{ |
|
RadTreeNode node = new RadTreeNode(name); |
|
//node.ImageUrl = "Placeholder.png"; |
|
node.NodeTemplate = new TreeNodeTemplate(false); |
|
|
|
RadTreeNode child1 = new RadTreeNode("child1"); |
|
//child1.ImageUrl = "Placeholder.png"; |
|
child1.NodeTemplate = new TreeNodeTemplate(true); |
|
RadTreeNode child2 = new RadTreeNode("child2"); |
|
//child2.ImageUrl = "Placeholder.png"; |
|
child2.NodeTemplate = new TreeNodeTemplate(true); |
|
RadTreeNode child3 = new RadTreeNode("child3"); |
|
//child3.ImageUrl = "Placeholder.png"; |
|
child3.NodeTemplate = new TreeNodeTemplate(false); |
|
|
|
node.Nodes.Add(child1); |
|
node.Nodes.Add(child2); |
|
node.Nodes.Add(child3); |
|
|
|
node.Expanded = true; |
|
|
|
RadTreeView1.Nodes.Add(node); |
|
} |
|
|
|
RadTreeView1.DataBind(); |
|
} |
|
|
|
class TreeNodeTemplate : ITemplate |
|
{ |
|
public bool ShowIcon { get; set; } |
|
|
|
public TreeNodeTemplate(bool showIcon) |
|
{ |
|
this.ShowIcon = showIcon; |
|
} |
|
|
|
public void InstantiateIn(Control container) |
|
{ |
|
Table tblTreeNode = new Table(); |
|
tblTreeNode.Width = Unit.Percentage(100); |
|
tblTreeNode.Height = Unit.Percentage(100); |
|
tblTreeNode.CellSpacing = 0; |
|
tblTreeNode.CellPadding = 0; |
|
tblTreeNode.CssClass = "TreeNode"; |
|
|
|
TableRow tblTreeNode_Row1 = new TableRow(); |
|
|
|
TableCell tblTreeNode_TextCell = new TableCell(); |
|
|
|
Label nodeText = new Label(); |
|
nodeText.ID = "NodeText"; |
|
nodeText.DataBinding += new EventHandler(nodeText_DataBinding); |
|
|
|
tblTreeNode_TextCell.Controls.Add(nodeText); |
|
tblTreeNode_Row1.Controls.Add(tblTreeNode_TextCell); |
|
|
|
TableCell tblTreeNode_IconCell = new TableCell(); |
|
tblTreeNode_IconCell.Width = Unit.Pixel(16); |
|
|
|
if (this.ShowIcon) |
|
{ |
|
Image imgIcon = new Image(); |
|
imgIcon.ID = "NodeImage"; |
|
imgIcon.ImageUrl = "Placeholder.png"; |
|
imgIcon.AlternateText = "Icon"; |
|
|
|
tblTreeNode_IconCell.Controls.Add(imgIcon); |
|
} |
|
|
|
tblTreeNode_Row1.Controls.Add(tblTreeNode_IconCell); |
|
tblTreeNode.Controls.Add(tblTreeNode_Row1); |
|
|
|
container.Controls.Add(tblTreeNode); |
|
} |
|
|
|
private void nodeText_DataBinding(object sender, EventArgs e) |
|
{ |
|
Label target = (Label)sender; |
|
RadTreeNode node = (RadTreeNode)target.BindingContainer; |
|
string nodeText = (string)DataBinder.Eval(node, "Text"); |
|
target.Text = nodeText; |
|
} |
|
|
|
} |
|
} |
|
|