我是实现 在点击gridview的选择之后获取他的用户id,然后利用id来查询用户权限表中的信息,根据数据库中的信息,使treeview控件前面的复选框打钩,可是我运行的时候点击选择,treeview没反应~~~求大虾!!下面是代码:
protected void BindTreeRoot(int userid1, TreeNodeCollection treenode)
    {
        string sql = "";
        foreach (TreeNode nodes in treenode)
        {
           //查找gridview中选择的那个用户所拥有的权限名称
                sql = "select qxname from userqx where userid='" + userid1 + "'";                DataView dv = OADBHelper.GetDataTable(sql).DefaultView;                foreach (DataRowView drv in dv)
                {                    foreach (TreeNode node in treenode)
                    {                        if (drv["qxname"].ToString() == node.Value.ToString())
                        {
                            node.Checked = true;
                        }
                        BindTreeRoot(userid1, node.ChildNodes);                    }
                }
        }
    }//下面是我执行选择之后
 protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
    {
        GridViewRow row = GridView1.SelectedRow;
        Session["userid"] = row.Cells[0].Text;
        Session["username"] = row.Cells[1].Text;
        int userid2 = Convert.ToInt32(Session["userid"]);
        BindTreeRoot(userid2, TreeView2.Nodes);
    }GridViewtreeview复选框勾选

解决方案 »

  1.   

    我是LZ~~~忘记贴 类和方法了
    public class OADBHelper
    {
        public static DataTable GetDataTable(string sql)
        {
      
            string con = @"Data Source=XP-201308090943;Initial Catalog=立可达模拟;User ID=sa;Pwd=huang";
            SqlConnection mycon = new SqlConnection(con);
            SqlCommand mycmd = new SqlCommand(sql, mycon);
            mycon.Open();
            mycmd.ExecuteNonQuery();
            SqlDataAdapter sda = new SqlDataAdapter(sql, mycon);
            DataSet ds = new DataSet();
            sda.Fill(ds, "userqx");
            DataTable table = ds.Tables["userqx"];
            mycmd.Dispose();
            return table;
        }

    }
      

  2.   

    > 调试没出问题但是运行之后并没有实现我想要的应该是编译没问题,但是运行结果不对吧?嗯,现在才是调试阶段,
    在BindTreeRoot()和SelectedIndexChanged1的代码第一行各设一个断点,
    然后勇敢地开始你的调试之旅吧