TreeView权限

namespace hymnnews.webback.users
{
 /// <summary>
 /// editpower 的摘要说明。
 /// </summary>
 public class editpower : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Button Button1;
  config con=new config();
  protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
     string sb="";
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if (!Page.IsPostBack)
   {
    getusertype();
    try
    {
     con.open();
     //添加命令,从数据库中得到数据
     SqlDataAdapter adp = new SqlDataAdapter("select * from tbTree",con.myConnection);
     DataSet ds=new DataSet();
     adp.Fill(ds);
     this.ViewState["ds"]=ds;

    }
    catch (Exception ex)
    {
     throw (ex);  
    }
    finally
    {
     con.Close();
    }
    //调用递归函数,完成树形结构的生成
  
    AddTree(0, (TreeNode)null);
   }
          // TreeView1.AutoPostBack=true;
   
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
  private void getusertype()
  {
   string rt="";
   string sql;
   SqlCommand command;
   SqlDataReader read;
   con.open();
   sql="select * from users where id="+Request["id"];
   command=new SqlCommand(sql,con.myConnection);
   read=command.ExecuteReader();
   if(read.Read())
   {
    
    rt=read.GetValue(4).ToString();
   }
   con.Close();
   if (rt.Equals("超级"))
   {
      Response.Write ("<script>alert('超级用户权限不可更改!');window.close();</script>");
   }
  }
  private string getuserpower()
  {
   string rt="";
   string sql;
   SqlCommand command;
   SqlDataReader read;
   con.open();
   sql="select * from users where id="+Request["id"];
   command=new SqlCommand(sql,con.myConnection);
   read=command.ExecuteReader();
   if(read.Read())
   {
    
    rt=read.GetValue(5).ToString();
   }
   con.Close();
   return rt;
  }
  public void AddTree(int ParentID,TreeNode pNode)
  {
   DataSet ds=(DataSet) this.ViewState["ds"];
   DataView dvTree = new DataView(ds.Tables[0]);
   //过滤ParentID,得到当前的所有子节点
   dvTree.RowFilter =  "[PARENTID] = " + ParentID;

   foreach(DataRowView Row in dvTree)
   {
    TreeNode Node=new TreeNode() ;
    if(pNode == null)
    {    //添加根节点
     Node.Text = Row["ConText"].ToString();
     TreeView1.Nodes.Add(Node);
     Node.Expanded=true;
     AddTree(Int32.Parse(Row["ID"].ToString()), Node);    //再次递归
    }
    else
    {   //添加当前节点的子节点
     Node.Text = Row["ConText"].ToString();
     //Node.Target = mainFrame;
     //Node.NavigateUrl = Row["url"].ToString();
     Node.ID=Row["id"].ToString();
     Node.CheckBox=true;
     if (getuserpower().IndexOf(Row["id"].ToString())!=-1)
     Node.Checked=true;
    
     pNode.Nodes.Add(Node);
     Node.Expanded = true;
     AddTree(Int32.Parse(Row["ID"].ToString()),Node);     //再次递归
    }
   }                  
  }

  private void Button1_Click(object sender, System.EventArgs e)
  {
   
         //Response.Write(GetAllNodeText(TreeView1.Nodes));
   con.open();
   string sql="update users set upower='"+GetAllNodeText(TreeView1.Nodes)+"' where id="+Request["id"];
   SqlCommand myCommand = new SqlCommand(sql,con.myConnection);
   myCommand.ExecuteNonQuery();
   myCommand.Dispose();
   con.Close();
   //GetAllNodeText(TreeView1.Nodes);
   Response.Write("<script>alert('用户权限修改成功!');</script>");
  }           
   
  private string GetAllNodeText(TreeNodeCollection tnc)
  {
   //string s="xiaozhuang";
   foreach(TreeNode node in tnc)
   {
    if(node.Nodes.Count!=0)
     GetAllNodeText(node.Nodes);
    
    if (node.Checked)
    {
       this.sb = this.sb + node.ID +",";
    }
    //Response.Write(node.Text + " ");
   }
   return this.sb;
  }
  private  void  TreeView1_SelectedIndexChange(object  sender,Microsoft.Web.UI.WebControls.TreeViewClickEventArgs  e)

  {
           
   Microsoft.Web.UI.WebControls.TreeNode NewNode=TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex);
   //TreeView1.getTreeNode(TreeView1.clickedNodeIndex);
   TreeNode pnode=NewNode;
   if(NewNode.Parent is TreeNode)
    pnode=(TreeNode)NewNode.Parent;
   if (NewNode.Checked)
   pnode.Checked=true;
   else
            pnode.Checked=false;
            Response.Write(pnode.Text);
  }
 }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值