Hi Telerik
I'm trying to get at node i a treeview to behave as normal, but the user must not be able to change the nodes checked state.
Is it posible to make a node "ReadOnly" but behave as normal?
I've made a small test project to show that i'm looking for.
Hope you understand my problem.
The Html
Code behind
Class
I'm trying to get at node i a treeview to behave as normal, but the user must not be able to change the nodes checked state.
Is it posible to make a node "ReadOnly" but behave as normal?
I've made a small test project to show that i'm looking for.
Hope you understand my problem.
The Html
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RadTreeView.Default" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
>
</
asp:ScriptManager
>
<
div
>
<
telerik:RadTreeView
ID
=
"RadTreeView1"
runat
=
"server"
CheckBoxes
=
"True"
TriStateCheckBoxes
=
"True"
DataFieldID
=
"id"
DataFieldParentID
=
"Parrentid"
onnodedatabound
=
"RadTreeView1_NodeDataBound"
CheckChildNodes
=
"true"
>
</
telerik:RadTreeView
>
</
div
>
</
form
>
</
body
>
</
html
>
Code behind
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace RadTreeView
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
RadTreeView1.CheckBoxes = true;
RadTreeView1.DataSource = TreeDataItem.GetTreeData();
RadTreeView1.DataBind();
}
protected void RadTreeView1_NodeDataBound(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e)
{
TreeDataItem _node = e.Node.DataItem as TreeDataItem;
e.Node.Text = _node.Text;
//e.Node.Checkable = !_node.ReadOnly;
e.Node.Checked = _node.Selected;
if (_node.ReadOnly)
{
e.Node.ImageUrl = "CheckedCheckbox.jpg";
e.Node.Checked = true;
e.Node.Enabled = false;
e.Node.Attributes.Add("style", "Color: #000000;");
}
}
}
}
Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace RadTreeView
{
public class TreeDataItem
{
private string _text;
public string Text
{
get { return _text; }
set { _text = value; }
}
private int _id;
public int ID
{
get { return _id; }
set { _id = value; }
}
private int _parrentId;
public int ParrentId
{
get { return _parrentId; }
set { _parrentId = value; }
}
private bool _readOnly;
public bool ReadOnly
{
get { return _readOnly; }
set { _readOnly = value; }
}
private bool _selected;
public bool Selected
{
get { return _selected; }
set { _selected = value; }
}
public TreeDataItem (int id, int parrentId, string text, bool Readonly, bool selected)
{
_id = id;
_parrentId = parrentId;
_text = text;
_readOnly = Readonly;
_selected = selected;
}
public static List<
TreeDataItem
> GetTreeData()
{
List<
TreeDataItem
> data = new List<
TreeDataItem
>();
data.Add(new TreeDataItem(1, 0, "Beer", false, false));
data.Add(new TreeDataItem(2, 1, "Carlsberg", false, true));
data.Add(new TreeDataItem(3, 1, "Heineken", false, false));
data.Add(new TreeDataItem(4, 0, "Food", false, false));
data.Add(new TreeDataItem(5, 4, "Burger", false, true));
data.Add(new TreeDataItem(6, 4, "Pizza", false, false));
data.Add(new TreeDataItem(7, 4, "Sandwitch", true, true));
data.Add(new TreeDataItem(8, 4, "Spagetti", false, false));
return data;
}
}
}