我有一个列出一个公司所有员工的树,用微软的TreeView控件实现,目录只有两级,一级为部门(以及总经理、副总经理),然后部门里有部门人员,所有的节点前都有CheckBox,可是这鬼东西,在我列出树,在某一些人员前面加CheckBox==true(即,如一个项目的参与人员),然后去修改参与人员提交时TreeView会乱来,即没有选择的会选择上,而已经选择的却没有选择上,CheckBox中的勾乱来。
请问,这个是什么原因?
我的TreeView.htc有按http://blog.csdn.net/cuike519/archive/2005/02/02/278271.aspx中的做。
谢谢!各位的帮忙,不然死定了。

解决方案 »

  1.   

    将错就错 哈哈
    后台 反选 没有被选种的chekcbox 哈哈
    然后让选择了的 不选
    没选的 加上选了
      

  2.   

    好好的你改 TreeView 干什么?这些都是经过考验的。有一个很片面的例子,你就当作特例去看,不能真的把自己的公共控件给改了啊!
      

  3.   

    可惜我这里只有2.0的treeView了如果是1.0的,语法好像不同。如果要让下以及的check与上级保持一致,在 TreeNodeCheckChanged 事件中写:foreach(TreeNode n in e.Node.ChildNodes) 
      n.Checked=e.Node.Checked;一句话就搞定的时,你给弄成修修补补的麻烦事了。我记得在以前1.0 版 TreeView中,e.Node无法直接取,需要写成 myTree.GetNodeFromIndex(e.Node),另外ChildNodes属性好像以前叫做Nodes。
      

  4.   

    当然这需要设置TreeView.AutoPostBack=true。此时要记住,如过你不想让屏幕闪烁,要设置Document对象的SmartNavigation属性。
      

  5.   

    不会的呀,你设置错了。我在用的时候没有出现你这样的情况。你再找一下,记得有一个是梅花鹿treview的
      

  6.   

    问题是,我没有按照http://blog.csdn.net/cuike519/archive/2005/02/02/278271.aspx中的做,也是会出同样的问题,