请问一下大虾:
       TreeNode newNode=new TreeNode();
       newNode=this.treeView1.SelectedNode.Nodes[i];
       if(newNode.checked==true){};
 会我选上checked,它会知道checked=true,大多时候它不捕获不到checked=ture呢???

解决方案 »

  1.   

    sorry,我的意思就是当我在treeView的checked上打上钩后,有时它能认识到checked=true了,但大多时候它还是当成是checked=false,就这意思,不知道是咋回事??
      

  2.   

    treeview有BeforeCheck和AfterCheck事件...
      

  3.   

    我是这样弄的: 
         在我想打钩的checkbox上统统打上钩,然后点击保存按钮,在保存按钮里用两个for循环,第一个遍历父节点,第二个遍历某个父节点的子节点(我的treeview只有两层),在第二层里头作更新数据库处理,具体代码如下:
         int count=treeView1.Nodes.Count ;
         int iii,jjj;
         string objSqlT;
         TreeNode newNode=new TreeNode();
         for(iii=0;iii<count;iii++)
         {
             for(jjj=0;jjj<this.treeView1.SelectedNode.Nodes.Count;jjj++ )
    {
       newNode=this.treeView1.SelectedNode.Nodes[jjj];
       if(newNode.Checked ==true)
       {
          objSqlT="update role_menuTable set permission=1 where role_menuTable.menuid in (SELECT menuTable.menuId  FROM menuTable  where menuTable.menucaption='" + newNode.Text  + "')and role_menuTable.roleId in (SELECT roleTable.roleId  FROM roleTable  where roleTable.roleName='" + treeView1.Nodes[iii].Text  + "')";
                }
       else
       {
          objSqlT="update role_menuTable set permission=0 where role_menuTable.menuid in (SELECT menuTable.menuId  FROM menuTable  where menuTable.menucaption='" + newNode.Text  + "')and role_menuTable.roleId in (SELECT roleTable.roleId  FROM roleTable  where roleTable.roleName='" + treeView1.Nodes[iii].Text  + "')";
                }
       Database db = DatabaseFactory.CreateDatabase();
       DataSet ds =new DataSet();
       DBCommandWrapper cw = db.GetSqlStringCommandWrapper(objSqlT);
       db.LoadDataSet(cw, ds, "updatetable");
    }
        }