TreeNode节点除了Text和Value就没有其他扩展属性了。1.1的树节点有Attribute属性或tag属性,现在这两个属性都没有了。如果我还想存储除Text和Value的节点数据相怎么办?

解决方案 »

  1.   

    TreeNode不再随便暴露内部控件,这样有利于同样类型的控件的(随着asp.net升级而)版本升级。TreeNode实际上有丰富的输出方式,不再是简单控件组成的。每一个TreeNode都是一个小Table,这个Table内部更为复杂。那么你说的“还想存储除Text和Value的节点数据”到底具体是什么意思呢?
      

  2.   

    我存储额外的信息用|号分开,这样text和value就够用了。
      

  3.   

    To:sp1234(与其赌博赚钱,不如自己开赌场) 现在我想在节点TreeNode存储一个当前节点“是否可以被添加子节点的属性”,怎样加呢。你说每个节点都可以是个小table。这个table怎样放?
      

  4.   

    netharry() ( ) 信誉:100  2007-7-30 18:20:49  得分: 0  
       
    我存储额外的信息用|号分开,这样text和value就够用了。----------------------------------------------------------------
    这种方法是可以,但是使用不方便啊!
     
     
      

  5.   

    我知道TreeNode.DataItem有这个字段,但是不知道怎样用我看了微软的帮助,说只要树绑定一个DataSourceXml就可以用了。我是递归加载树的。递归初始化的树好像就不能用DataItem了。
      

  6.   

    sorry DataSourceXml 应该是 XmlDataSource
      

  7.   

    你们没有遇到过这样问题吗,难道你们只用节点存储text和value,没有用treenode存储过其他字段吗?
      

  8.   

    我说2.0的treeview差,你们能不能给我他不差的理由啊!这个问题都郁闷我2天了。
      

  9.   

    一般是继承一个类 然后扩展属性
    当然你另外用一个HashTable之类的存储也可以
      

  10.   

    我是递归加载树的。递归初始化的树好像就不能用DataItem了。
    ================================================递归加载   不能用DataItem???LZ 哪里这么多理论阿?   难道微软说不让用了?
      

  11.   

    netharry() ( ) 信誉:100  2007-7-30 18:20:49  得分: 0  
       
    我存储额外的信息用|号分开,这样text和value就够用了。================================================
    这是个办法,但是有没有更好的方法呢?
    存储额外的对象类型最好需要个什么结构来放吧。
      

  12.   

    我对treeview不是很熟。
    不过你真要存放其他值,帮你想了一个办法,放在value中,用逗号分割。
    取的时候:string [] wanttoget = value.Split(",",1000);
      

  13.   

    我晕!说来说去就是用value分割存储其他字段。难道就只能用这种方法了。如果存储的字段很多不是很麻烦吗!1.1的treeview的treeNode有Attribute属性多少用阿,为什么到了2.0就去掉了呢。-------------------------------------------------------------------------------
     shilei831115(柔石) ( ) 信誉:100  2007-7-31 13:45:55  得分: 0  
    我是递归加载树的。递归初始化的树好像就不能用DataItem了。
    ================================================
    递归加载   不能用DataItem???
    LZ 哪里这么多理论阿?   难道微软说不让用了?提出问题,你没有解决问题,你到反问来问我!
    你告诉我递归初始化的树怎样用DataItem????,你看看msdn的帮助。
     
      

  14.   

    特意来BS楼主的,这么简单的问题不会自己想办法解决?还来这里鄙视别人。
    --------------------------------------
    帮你BS,
      

  15.   

    还有 NodeData 可以用啊
      

  16.   

    asp.net2.0都出这么长时间了,居然没有一个人说和我有同感的。大家用树也就用text和value就够用了?
    如果用其他字段就都存储在value上了。存的时候连接字符串,用的时候再解析,这样用你们也不烦,不求甚解。得过且过。更加bs你们!!
      

  17.   

    建议楼主用 XML 字串保存在 NodeData,这样你想怎么存多少值都行
    TreeNode nd2 = new TreeNode();
    nd2.NodeData = "<yourData><Name>张三</Name><Old>54<Old/><yourData/>";取值
    XmlDocument x_doc = new XmlDocument();
    x_doc.LoadXml(nd2.NodeData);
    string nm = x_doc.SelectSingleNode("yourData//Name").InnerText;
    string nm = x_doc.SelectSingleNode("yourData//Old").InnerText;
      

  18.   

    还有 NodeData 可以用啊asp.net2.0 treeview 有NodeData?
      

  19.   

    原来有attributes确实很方便,现在我想给node加个style都不行了。我想要每个node的style都不同,哪位大哥告诉我怎么办啊
      

  20.   

    myboor(菜菜菜鸟) ( ) 信誉:100  2007-07-31 16:31:07  得分: 0  
     
    原来有attributes确实很方便,现在我想给node加个style都不行了。我想要每个node的style都不同,哪位大哥告诉我怎么办啊
    ==========================================================================
    你的要求过分了点,treeview没有这个功能可以理解但是我的要求是最基本的呀,微软连最基本的都不给提供。其实treenode有DataItem属性,如果是TreeView.DataSource = table的帮带的话,
    treenode.DataItem应该是table的以行数据,可以得到其他字段的值。但是这个DataItem必须树绑定时才能用。这不是微软强逼这你必须绑定数据源么。递归初始化的树不让用么。
     
     
      

  21.   

    asp.net1.1本本没有TreeView控件,asp.net的TreeView控件根本不是升级,而是新增的控件。你应该搞清楚你的问题的前提,不要把iewebcontrols当作asp.net1.1。
      

  22.   

    2002年微软一个小项目组发布了iewebcontrols,这么多年了,就没有更新过,因为它很烂。微软及其伙伴有上万个这样的项目组,95%都是做为垃圾或者个别项目使用的。既然没有做为asp.net1.1项目中的控件,就不要拿来当作asp.net自身的控件来理解。
      

  23.   

    iewebcontrols 是不是asp.net1.1不重要。既然iewebcontrols很烂,
    到了asp.net2.0,微软把很烂的iewebcontrols直接做出正式的2.0控件了,而且比1.1更烂。那我开始bs微软了。
      

  24.   

    我写这样的题目是为了吸引大家注意,来解决我的问题。没有其他的意思,
    希望星星们能理解:)我发这个帖的目的是我原来以为asp.net2.0的treenode有存储其他属性值的功能,可能是我不知道。看来还真是2.0的treeView有这个问题。谢谢大家!结帖了。