自定义TreeNode和SelectNodeChanged

时间:2009-05-07 10:39:25

标签: inheritance treeview treenode

我正在使用asp.net,我编写了一个自定义TreeNode(customTreeNode),用于填充TreeView。

当触发selectnodechanged事件时会出现问题,该事件为我提供了TreeNode对象而不是customTreeNode。我似乎也无法施展它。

以下是我填充树的方法:

 node.ChildNodes.Add
                (
                    customTreeNode = new customTreeNode(site)
                );

我的customTreeNode类:

public class customTreeNode : TreeNode
    {
       public Guid Id { get; set; }
        private SPWebEntry _dataContext;
        public SPWebEntry DataContext
        {
            get
            {
                return _dataContext;
            }
        }

        public customTreeNode(SPWebEntry DataContext)
        {
            _dataContext = DataContext;

            this.Text = _dataContext.Title;
            this.Id = _dataContext.Id;
        }
}

和事件

 void treeViewSiteCollection_SelectedNodeChanged(object sender, EventArgs e)
        {
            treeViewSiteCollection.SelectedNode;
        }

treeViewSiteCollection.SelectedNode的类型为TreeNode,我无法强制转换它。

1 个答案:

答案 0 :(得分:0)

您还必须扩展树本身 查看这篇文章 http://forums.asp.net/p/1109208/1713613.aspx#1713613