有一张表,主要属性有id,name,parentid,页面初始化的时候把它解析为树形菜单
我把TreeNode的Value属性赋值为id,Text属性赋值为name,想通过parentid和已经在TreeView中的节点的Value比较,找到父节点,但是我不知怎么通过比较可以取到这个父节点,然后把新节点加上去,望高人指教下.本人数据结构学的一般,觉得用的算法也很差,把数据行从头到尾读了一遍,一个一个地加,艾,后悔啊,这么课读了这么烂

解决方案 »

  1.   

    Text属性赋值为name,应该可以设置为<a "脚本程序:把parentid赋给页面上不显示的TextBox">name</a>
      

  2.   

    你可以在生成节点的时候用一个HashTable记录下Value和 nodeIndex的对应关系
    每添加一个节点,myHashTable.Add(nodeValue,nodeIndex);
    这个nodeIndex是个字符串,需要计算一下,它的规律的这样的:
    第一个根节点“0”
         ---第一个根节点下的第一个字节点“0.0”
         ---第一个根节点下的第二个字节点“0.1”
              ---第一个根节点下的第一个字节点下的第n个节点“0.1.n”第二个根节点“1”
         ---第二个根节点下的第一个字节点“1.0”
         ---第二个根节点下的第二个字节点“1.1”
              ---第二个根节点下的第一个字节点下的第n个节点“1.1.n”.........
    然后把这个HashTable保存到ViewState****************
    取的时候就很方便了
    string parentid = "";//已知parentid
    string nodeIndex = myHashTable["parentid"].ToString();
    TreeNode node = this.TreeView1.GetNodeFromIndex(nodeIndex);