因最近在在学着做一个成绩管理系统,里面有一个权限设置的界面,大致像下面的情况
—系统设置
   —密码修改
   —权限设置
—成绩管理
  —编辑学生成绩
  —学生成绩排名与分析

由于不知道怎么在这里插入图片,所以就用上面的形式显示,其中每一个节点都是一个CheckBox当用鼠标选中其中的节点时,我要怎么去获取当前那些被选中的节点,以便修改数据库所存的权限。数据库中有一个表 RoleRight(RoleID,MenuItemName,RoleRight)//RoleRight=0,表示无权使用该菜单由于初学C#,所以对N多控件不熟悉,不知道怎么用,请各位大侠多多指教!

解决方案 »

  1.   

      /// <summary>
            /// 判断选中的树节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
            { 
                if (e.Node.Name.Split('|')[0] == "class")//选中了班级节点
                {
                    //MessageBox.Show("点击了班级" + e.Node.Name.Split('|')[1], "景格软件", MessageBoxButtons.OK);
                    string strcode = e.Node.Name.Split('|')[1].ToString();
                    this.listView1.Items.Clear();
                    DataTable dt = BLL.TeacherBLL.Querryclassshixun(strcode);
                    DataView dbv = dt.DefaultView;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        ListViewItem lv = new ListViewItem();
                        lv.SubItems[0].Text = dt.Rows[i]["Expr3"].ToString();
                        lv.SubItems.Add(dt.Rows[i]["Expr4"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr9"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr10"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["HistoryTroubleList"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["TrainingDate"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Trainingid"].ToString());
                        this.listView1.Items.Add(lv);
                    }
                }
                else if (e.Node.Name.Split('|')[0] == "student")//选中了学生节点
                {
                    string code = e.Node.Name.Split('|')[1].ToString();
                    this.listView1.Items.Clear();
                    DataTable dt = BLL.TeacherBLL.Queershixun(code);
                    DataView dbv = dt.DefaultView;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        ListViewItem lv = new ListViewItem();
                        lv.SubItems[0].Text = dt.Rows[i]["Expr3"].ToString();
                        lv.SubItems.Add(dt.Rows[i]["Expr4"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr9"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr10"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["HistoryTroubleList"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["TrainingDate"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Trainingid"].ToString());
                        this.listView1.Items.Add(lv);
                    }
                }
                else
                {
                        this.listView1.Items.Clear();
                        DataTable dt = BLL.TeacherBLL.QuerryAllshixun();
                        DataView dbv = dt.DefaultView;
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            ListViewItem lv = new ListViewItem();
                            lv.SubItems[0].Text = dt.Rows[i]["Expr3"].ToString();
                            lv.SubItems.Add(dt.Rows[i]["Expr4"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["Expr9"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["Expr10"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["HistoryTroubleList"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["TrainingDate"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["Trainingid"].ToString());
                            this.listView1.Items.Add(lv);
                        }
                }
                
                
            }
      

  2.   

      /// <summary>
            /// 判断选中的树节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
            { 
                if (e.Node.Name.Split('|')[0] == "class")//选中了班级节点
                {
                    //MessageBox.Show("点击了班级" + e.Node.Name.Split('|')[1], "景格软件", MessageBoxButtons.OK);
                    string strcode = e.Node.Name.Split('|')[1].ToString();
                    this.listView1.Items.Clear();
                    DataTable dt = BLL.TeacherBLL.Querryclassshixun(strcode);
                    DataView dbv = dt.DefaultView;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        ListViewItem lv = new ListViewItem();
                        lv.SubItems[0].Text = dt.Rows[i]["Expr3"].ToString();
                        lv.SubItems.Add(dt.Rows[i]["Expr4"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr9"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr10"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["HistoryTroubleList"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["TrainingDate"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Trainingid"].ToString());
                        this.listView1.Items.Add(lv);
                    }
                }
                else if (e.Node.Name.Split('|')[0] == "student")//选中了学生节点
                {
                    string code = e.Node.Name.Split('|')[1].ToString();
                    this.listView1.Items.Clear();
                    DataTable dt = BLL.TeacherBLL.Queershixun(code);
                    DataView dbv = dt.DefaultView;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        ListViewItem lv = new ListViewItem();
                        lv.SubItems[0].Text = dt.Rows[i]["Expr3"].ToString();
                        lv.SubItems.Add(dt.Rows[i]["Expr4"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr9"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Expr10"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["HistoryTroubleList"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["TrainingDate"].ToString());
                        lv.SubItems.Add(dt.Rows[i]["Trainingid"].ToString());
                        this.listView1.Items.Add(lv);
                    }
                }
                else
                {
                        this.listView1.Items.Clear();
                        DataTable dt = BLL.TeacherBLL.QuerryAllshixun();
                        DataView dbv = dt.DefaultView;
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            ListViewItem lv = new ListViewItem();
                            lv.SubItems[0].Text = dt.Rows[i]["Expr3"].ToString();
                            lv.SubItems.Add(dt.Rows[i]["Expr4"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["Expr9"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["Expr10"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["HistoryTroubleList"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["TrainingDate"].ToString());
                            lv.SubItems.Add(dt.Rows[i]["Trainingid"].ToString());
                            this.listView1.Items.Add(lv);
                        }
                }
                
                
            }
      

  3.   

    简单点就是:this.TreeView1.SelectedNode.Value;获取节点的指