Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How To Store Array Data in tree node in asp.net TreeView

I want to store object data to TreeView node dynamically (while the application is running). In Windows Form, I use

node.tag = ? 

and it is okay. I try

node.DataItem = something 

but it is readonly. So how would I store object data in an ASP.NET TreeView node?

like image 730
Saihariharan Avatar asked Feb 26 '26 23:02

Saihariharan


1 Answers

There is no Tag property in ASP.NET TreeNode but You can impliment your own treenode with Tag Property

How to extend a built-in TreeNode class of the ASP.NET TreeView control

using System.Web.UI.WebControls;

namespace CSASPNETInheritingFromTreeNode
{
    public class CustomTreeView : TreeView
    {

        protected override TreeNode CreateNode()
        {
            return new CustomTreeNode(this, false);
        }
    }

    public class CustomTreeNode : TreeNode
    {

        public object Tag { get; set; }

        public CustomTreeNode() : base()
        {
        }

        public CustomTreeNode(TreeView owner, bool isRoot) : base(owner, isRoot)
        {
        }


        protected override void LoadViewState(object state)
        {
            object[] arrState = state as object[];

            this.Tag = arrState[0];
            base.LoadViewState(arrState[1]);
        }


        protected override object SaveViewState()
        {
            object[] arrState = new object[2];
            arrState[1] = base.SaveViewState();
            arrState[0] = this.Tag;

            return arrState;
        }
    }
}
like image 160
Damith Avatar answered Feb 28 '26 13:02

Damith