分享
 
 
 

[原创]使用Microsoft.Web.UI.WebControls的iewc轻松解决权限树问题(无限级权限管理)2

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

TreeControl.cs :对树的操作

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

using System.Text.RegularExpressions;

using System.IO;

using System.Text;

using System.Xml;

using Microsoft.Web.UI.WebControls;

namespace YljWeb.Classes

{

/// <summary>

/// TreeControl 的摘要说明。

/// </summary>

public class TreeControl

{

public DataTable dt;

public TreeControl()

{

//

// TODO: 在此处添加构造函数逻辑

//

}

public void BindTreeView1(string f_key,string f_parentkey,string location,string f_text,string str_Sql,string Frame,string Url,Label lbl_Curnodeid,TreeView TreeView1)

{

DataSet ds = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

dt = ds.Tables[0];

TreeView1.Nodes.Clear(); // 清空树

TreeNode rootnode=new TreeNode();

rootnode.Text=dt.Rows[0][f_text].ToString(); // 给节点绑定显示值

rootnode.NodeData=dt.Rows[0][f_key].ToString(); // 给节点绑定key值

lbl_Curnodeid.Text=dt.Rows[0][f_key].ToString(); //保存选中key值

rootnode.Expanded=true; //默认根结点为展开

rootnode.Target = Frame;

rootnode.NavigateUrl = Url+"?"+location+"=" + dt.Rows[0][location].ToString();

TreeView1.Nodes.Add(rootnode);

string parentid=dt.Rows[0][f_parentkey].ToString()+dt.Rows[0][f_key].ToString()+"_"; //他子节点的parentid字段值

CreateNode1(f_key,f_parentkey,location,f_text,Frame,Url,parentid,rootnode);//加入所有根结点以下的结点

}

public void BindTreeView2(string f_key,string f_parentkey,string location,string f_text,string str_Sql,string Frame,string Url,Label lbl_Curnodeid,TreeView TreeView1)

{

DataSet ds = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

dt = ds.Tables[0];

TreeView1.Nodes.Clear(); // 清空树

TreeNode rootnode=new TreeNode();

rootnode.Text=dt.Rows[0][f_text].ToString(); // 给节点绑定显示值

rootnode.NodeData=dt.Rows[0][f_key].ToString(); // 给节点绑定key值

lbl_Curnodeid.Text=dt.Rows[0][f_key].ToString(); //保存选中key值

rootnode.Expanded=true; //默认根结点为展开

rootnode.Target = Frame;

rootnode.NavigateUrl = Url+"?location2=" + dt.Rows[0][location].ToString();

TreeView1.Nodes.Add(rootnode);

string parentid=dt.Rows[0][f_parentkey].ToString()+dt.Rows[0][f_key].ToString()+"_"; //他子节点的parentid字段值

CreateNode2(f_key,f_parentkey,location,f_text,Frame,Url,parentid,rootnode);//加入所有根结点以下的结点

}

public void CreateNode1(string f_key,string f_parentkey,string location,string f_text,string Frame,string Url,string parentid,TreeNode parentnode)

{

DataRow [] drs = dt.Select(f_parentkey +"= '" + parentid + "'");//选出所有子节点

//遍历所有子节点

foreach( DataRow r in drs )

{

TreeNode tempnode = new TreeNode();

tempnode.Text = r[f_text].ToString();

tempnode.NodeData = r[f_key].ToString();

parentnode.Nodes.Add(tempnode);

tempnode.Expanded=true;

tempnode.Target = Frame;

tempnode.NavigateUrl = Url+"?"+location+"=" + r[location].ToString();

parentid=r[f_parentkey].ToString()+r[f_key].ToString()+"_";

CreateNode1(f_key,f_parentkey,location,f_text,Frame,Url,parentid,tempnode);

}

}

public void CreateNode2(string f_key,string f_parentkey,string location,string f_text,string Frame,string Url,string parentid,TreeNode parentnode)

{

DataRow [] drs = dt.Select(f_parentkey +"= '" + parentid + "'");//选出所有子节点

//遍历所有子节点

foreach( DataRow r in drs )

{

TreeNode tempnode = new TreeNode();

tempnode.Text = r[f_text].ToString();

tempnode.NodeData = r[f_key].ToString();

parentnode.Nodes.Add(tempnode);

tempnode.Expanded=true;

tempnode.Target = Frame;

tempnode.NavigateUrl = Url+"?location2=" + r[location].ToString();

parentid=r[f_parentkey].ToString()+r[f_key].ToString()+"_";

CreateNode2(f_key,f_parentkey,location,f_text,Frame,Url,parentid,tempnode);

}

}

public void BindTreeViewShow(string f_key,string f_parentkey,string location,string f_text,string str_Sql,Label lbl_Curnodeid,TreeView TreeView1)

{

DataSet ds = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

dt = ds.Tables[0];

TreeView1.Nodes.Clear(); // 清空树

TreeNode rootnode = new TreeNode();

rootnode.Text = dt.Rows[0][f_text].ToString(); // 给节点绑定显示值

rootnode.NodeData = dt.Rows[0][f_key].ToString(); // 给节点绑定key值

// lbl_Curnodeid.Text = dt.Rows[0][f_key].ToString(); //保存选中key值

rootnode.Expanded = true; //默认根结点为展开

rootnode.NavigateUrl = "?"+location+"=" + dt.Rows[0][f_text].ToString();

TreeView1.Nodes.Add(rootnode);

string parentid=dt.Rows[0][f_parentkey].ToString()+dt.Rows[0][f_key].ToString()+"_"; //他子节点的parentid字段值

CreateNodeShow(f_key,f_parentkey,location,f_text,parentid,rootnode);//加入所有根结点以下的结点

}

public void CreateNodeShow(string f_key,string f_parentkey,string location,string f_text,string parentid,TreeNode parentnode)

{

DataRow [] drs = dt.Select(f_parentkey +"= '" + parentid + "'");//选出所有子节点

//遍历所有子节点

foreach( DataRow r in drs )

{

TreeNode tempnode = new TreeNode();

tempnode.Text = r[f_text].ToString();

tempnode.NodeData = r[f_key].ToString();

parentnode.Nodes.Add(tempnode);

tempnode.Expanded=true;

tempnode.NavigateUrl = "?"+location+"=" + r[f_text].ToString();

parentid=r[f_parentkey].ToString()+r[f_key].ToString()+"_";

CreateNodeShow(f_key,f_parentkey,location,f_text,parentid,tempnode);

}

}

public string GetFirstStr(string strOriginal,string strSymbol)

{

int strPlace=strOriginal.IndexOf(strSymbol);

if (strPlace!=-1)

strOriginal=strOriginal.Substring(0,strPlace);

return strOriginal;

}

/// <summary>

/// 获得某个字符串在另个字符串最后一次出现时后面所有字符

/// </summary>

/// <param name="strOriginal">要处理的字符</param>

/// <param name="strSymbol">符号</param>

/// <returns>返回值</returns>

public string GetLastStr(string strOriginal,string strSymbol)

{

int strPlace=strOriginal.LastIndexOf(strSymbol)+strSymbol.Length;

strOriginal=strOriginal.Substring(strPlace);

return strOriginal;

}

/// <summary>

/// 获得两个字符之间最后一次出现时的所有字符

/// </summary>

/// <param name="strOriginal">要处理的字符</param>

/// <param name="strFirst">最前哪个字符</param>

/// <param name="strLast">最后哪个字符</param>

/// <returns>返回值</returns>

public string GetTwoMiddleLastStr(string strOriginal,string strFirst,string strLast)

{

strOriginal=GetLastStr(strOriginal,strFirst);

strOriginal=GetFirstStr(strOriginal,strLast);

return strOriginal;

}

public void AddRootNode(string nodeid,string order_id,string parentid,string location,string text,string tablename,string MyText)

{

if( MyText !="" )

{

string str_Sql = "INSERT INTO "+ tablename +"("+ nodeid +","+ parentid +","+ location +","+ text +","+ order_id +") VALUES ('1','0_','0_1_','"+ MyText +"','0')";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql);

}

}

public void AddChildNode(string nodeid,string order_id,string parentid,string location,string text,string tablename,int Curnodeid,string MyText)

{

if( MyText !="" )

{

string str_MaxId =(int.Parse(YljWeb.Classes.SqlConn.GetMaxId("nodeid",tablename).ToString())+1).ToString();

int NewNodeId = int.Parse(str_MaxId);

string str_Sql="select * from "+tablename+" where "+ nodeid +"="+ Curnodeid;

DataSet ds = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

DataRow dr = ds.Tables[0].Rows[0];

string str_ = dr[parentid]+ Curnodeid.ToString() +"_";

string str_Location = str_+str_MaxId+"_";

string str_Sql1 = "INSERT INTO "+ tablename +"("+ nodeid +","+ parentid +","+ location +","+ text +","+ order_id +") VALUES ("+ NewNodeId +",'"+ str_ +"','"+ str_Location +"','"+ MyText +"',"+ NewNodeId +")";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql1);

}

}

public void AddChildNode2(string nodeid,string order_id,string parentid,string location,string text,string text2,string tablename,int Curnodeid,string MyText,string MyText2)

{

if( MyText !="" )

{

string str_MaxId =(int.Parse(YljWeb.Classes.SqlConn.GetMaxId("nodeid",tablename).ToString())+1).ToString();

int NewNodeId = int.Parse(str_MaxId);

string str_Sql="select * from "+tablename+" where "+ nodeid +"="+ Curnodeid;

DataSet ds = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

DataRow dr = ds.Tables[0].Rows[0];

string str_ = dr[parentid]+ Curnodeid.ToString() +"_";

string str_Location = str_+str_MaxId+"_";

string str_Sql1 = "INSERT INTO "+ tablename +"("+ nodeid +","+ parentid +","+ location +","+ text +","+ text2 +","+ order_id +") VALUES ("+ NewNodeId +",'"+ str_ +"','"+ str_Location +"','"+ MyText +"','"+ MyText2 +"',"+ NewNodeId +")";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql1);

}

}

public void AddBrotherNode(string nodeid,string order_id,string parentid,string location,string text,string tablename,int Curnodeid,string MyText)

{

if( MyText !="" )

{

string str_MaxId =(int.Parse(YljWeb.Classes.SqlConn.GetMaxId("nodeid",tablename).ToString())+1).ToString();

int NewNodeId = int.Parse(str_MaxId);

string str_Sql="select * from "+ tablename +" where "+ nodeid +"="+ Curnodeid;

DataSet ds = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

DataRow dr = ds.Tables[0].Rows[0];

string str_ = dr[parentid].ToString();

string str_Location = str_+str_MaxId+"_";

str_Sql = "INSERT INTO "+tablename+"("+ nodeid +","+ parentid +","+ location +","+ text +","+ order_id +") VALUES ("+ NewNodeId +",'"+ str_ +"','"+ str_Location +"','"+ MyText +"',"+ NewNodeId +")";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql);

}

}

public void AddBrotherNode2(string nodeid,string order_id,string parentid,string location,string text,string text2,string tablename,int Curnodeid,string MyText,string MyText2)

{

if( MyText !="" )

{

string str_MaxId =(int.Parse(YljWeb.Classes.SqlConn.GetMaxId("nodeid",tablename).ToString())+1).ToString();

int NewNodeId = int.Parse(str_MaxId);

string str_Sql="select * from "+ tablename +" where "+ nodeid +"="+ Curnodeid;

DataSet ds = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

DataRow dr = ds.Tables[0].Rows[0];

string str_ = dr[parentid].ToString();

string str_Location = str_+str_MaxId+"_";

str_Sql = "INSERT INTO "+tablename+"("+ nodeid +","+ parentid +","+ location +","+ text +","+ text2 +","+ order_id +") VALUES ("+ NewNodeId +",'"+ str_ +"','"+ str_Location +"','"+ MyText +"','"+ MyText2 +"',"+ NewNodeId +")";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql);

}

}

public void DelTreeViewNode(string nodeid,string parentid,string tablename,int Curnodeid)

{

string str_Sql="delete from "+tablename+" where "+nodeid+"="+ Curnodeid +" or "+ parentid +" like '%"+ Curnodeid +"%'";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql);

}

}

}

Purview_All_Left.aspx.cs:权限树的显示

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using Microsoft.Web.UI.WebControls;

namespace YljWeb._Admin.Purview_Manage

{

/// <summary>

/// Tree_Left 的摘要说明。

/// </summary>

public class Purview_All_Left : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Label lbl_Curnodeid;

protected Microsoft.Web.UI.WebControls.TreeView TreeView1;

protected Microsoft.Web.UI.WebControls.TreeView Treeview1;

protected YljWeb.Classes.TreeControl tree=new YljWeb.Classes.TreeControl();

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

string str_Sql="select * from Purview_All order by order_id";

if (YljWeb.Classes.SqlConn.IsExist(str_Sql)) // 遍历树

{

tree.BindTreeView1("nodeid","parentid","location","mytext",str_Sql,"mainFrame","Purview_All_Operate.aspx",lbl_Curnodeid,TreeView1);

}

}

#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void TreeView_Selected(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)

{

lbl_Curnodeid.Text = ((TreeNode)TreeView1.GetNodeFromIndex(e.NewNode)).NodeData;

}

}

}

Purview_All_Operate.aspx.cs:系统功能的管理(填加、修改、删除等操作)

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using Microsoft.Web.UI.WebControls;

namespace YljWeb._Admin.Purview_Manage

{

/// <summary>

/// Tree_Operate 的摘要说明。

/// </summary>

public class Purview_All_Operate : System.Web.UI.Page

{

protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;

protected System.Web.UI.WebControls.Button btn_AddChildNode;

protected System.Web.UI.WebControls.Button btn_AddBrotherNode;

protected System.Web.UI.WebControls.Button btn_DelNode;

protected System.Web.UI.WebControls.Button btn_AddRootNode;

protected System.Web.UI.WebControls.TextBox txt_Mytext;

protected System.Web.UI.WebControls.Label lbl_Error;

protected YljWeb.Classes.TreeControl tree=new YljWeb.Classes.TreeControl();

public static DataView dv1;//数据视图

public string str_Sql;

public string str_Location;

public string cru_location;

public int Curnodeid;

protected System.Web.UI.WebControls.TextBox Txt_Command;

protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator2;

public string MyText;

protected System.Web.UI.WebControls.Label lbl_name;

protected System.Web.UI.WebControls.Label lbl_command;

protected System.Web.UI.WebControls.Button btn_CruNode_Modify;

public string MyText2;

public string cru_user;

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

btn_DelNode.Attributes.Add("onClick","javascript:return confirm('你确定要删除此结点及其子结点吗?')");

if (Request["location"]!=null)

{

str_Location=Request["location"].ToString().Substring(0,Request["location"].ToString().Length-1);

Curnodeid = int.Parse(tree.GetTwoMiddleLastStr(str_Location,"_","_"));

MyText = this.txt_Mytext.Text.Replace(" ","");

MyText2 = this.Txt_Command.Text.Replace(" ","");

//////////////// 通过用户的权限来控制按扭的属性 ////////////////////////////////////////////////

if ( Session["AdminName"] != null )

{

cru_user = Session["AdminName"].ToString();

}

else

{

cru_user = "------";/////// 只要该值在用户数据库中不存在就可以

}

if ( YljWeb.Classes.Purview.Purview_Verify(cru_user,"Purview_All_node_Del") )

{

this.btn_DelNode.Visible = true;

}

// else

// {

// this.ShowErrMsg("您没有权限删除!");

// }

/////////////////////////////////////////////////////////////////////////////////////////////////

this.btn_CruNode_Modify.Visible = true;

Get_CruNode_Info();

// BindGrid();

}

str_Sql="select * from Purview_All";

if (YljWeb.Classes.SqlConn.GetRowCount(str_Sql)>0) // 树表存在记录,做遍历操作

{

btn_AddRootNode.Visible=false;

}

else // 数表不存在记录,不做遍历操作

{

btn_DelNode.Visible=false;

btn_AddBrotherNode.Visible=false;

btn_AddChildNode.Visible=false;

}

}

#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

this.btn_AddRootNode.Click += new System.EventHandler(this.btn_AddRootNode_Click);

this.btn_AddChildNode.Click += new System.EventHandler(this.btn_AddChildNode_Click);

this.btn_AddBrotherNode.Click += new System.EventHandler(this.btn_AddBrotherNode_Click);

this.btn_DelNode.Click += new System.EventHandler(this.btn_DelNode_Click);

this.btn_CruNode_Modify.Click += new System.EventHandler(this.btn_CruNode_Modify_Click);

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void Get_CruNode_Info()

{

cru_location = Request["location"].ToString();

string str_Sql = "Select * from Purview_All where location = '"+ cru_location +"' ";

DataSet ds1= new DataSet();

ds1 = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);

this.lbl_name.Text = ds1.Tables[0].Rows[0]["mytext"].ToString();

this.lbl_command.Text = ds1.Tables[0].Rows[0]["command_name"].ToString();

ds1.Dispose();

}

/// <summary>

/// /////////

/// </summary>

// public void BindGrid()

// {

// str_Location = Request["location"].ToString();

// str_Sql="select * from Purview_All where parentid='"+ str_Location +"' order by order_id";

// ViewState["Sort"]="";

// DataSet myds1 = new DataSet();

// myds1 = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(str_Sql);//调用YljWeb.Classes.SqlConn.ExecuteSqlForDataSet

// dv1=myds1.Tables[0].DefaultView;

// dv1.Table.AcceptChanges();

// ////////////// dv1.Sort /////////////////////////////////////////////////////////////////////////

// if(!object.Equals(ViewState["Sort"],null))

// {

// dv1.Sort =ViewState["Sort"].ToString() ;

// }

//

// ViewState["PageDataCount"]=dv1.Count;//记录每页的数据条数

// if(dv1.Count==0)//判断所查询出来的数据中是否有记录

// {

// dv1.Dispose();

// }

// show_all.DataSource = dv1;//指定数据源

// show_all.DataBind();//控件绑定

// }

/// <summary>

/// //////////

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btn_AddChildNode_Click(object sender, System.EventArgs e)

{

if (Request["location"]==null) // 判断是否选择左边导航树导航

{

// this.ShowErrMsg("请选择左边导航树节点,再做添加操作!");

// string Str_Show = YljWeb.Classes.MyMethod.ShowErrMsg("请选择左边导航树节点,再做添加操作!");

this.Response.Write( YljWeb.Classes.MyMethod.ShowErrMsg("请选择左边导航树节点,再做添加操作!") );

return;

}

str_Sql="select * from Purview_All where command_name='"+ MyText2 +"'";

if ( YljWeb.Classes.SqlConn.IsExist(str_Sql) )

{

this.ShowErrMsg("对不起,已经存在此命令,请重新输入!");

return;

}

// 下面是增加子节点

tree.AddChildNode2("nodeid","order_id","parentid","location","mytext","command_name","Purview_All",Curnodeid,MyText,MyText2);

// 将最新加入的权限填加到Purview_User_Have预定义

Add_To_Purview_User_Have();

// 刷新左边树导航

lbl_Error.Text="<script language=\"javascript\">parent.frames(\"leftFrame\").document.location.reload();</"+"script>";

}

/// <summary>

/// /////////

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btn_AddBrotherNode_Click(object sender, System.EventArgs e)

{

if (Request["location"]==null) // 判断是否选择左边导航树导航

{

this.ShowErrMsg("请选择左边导航树节点,再做添加操作!");

return;

}

string str_Sql="select * from Purview_All where nodeid="+ Curnodeid +"and parentid='0_' ";

int count=int.Parse(YljWeb.Classes.SqlConn.GetRowCount(str_Sql).ToString());

if ( count != 0 )

{

this.ShowErrMsg("不能给根节点增加兄弟节点,请增加子节点!"); // 判断不能给跟节点增加兄弟节点

return;

}

str_Sql="select * from Purview_All where command_name='"+ MyText2 +"'";

if ( YljWeb.Classes.SqlConn.IsExist(str_Sql) )

{

this.ShowErrMsg("对不起,已经存在此命令,请重新输入!");

return;

}

// 下面是增加兄弟节点

tree.AddBrotherNode2("nodeid","order_id","parentid","location","mytext","command_name","Purview_All",Curnodeid,MyText,MyText2); // 增加兄弟节点

// 将最新加入的权限填加到Purview_User_Have预定义

Add_To_Purview_User_Have();

// 刷新左边树导航

lbl_Error.Text="<script language=\"javascript\">parent.frames(\"leftFrame\").document.location.reload();</"+"script>";

}

public void Add_To_Purview_User_Have()

{

////// 查出所有用户

string strSql_User = "Select * from AdminUser ";

DataSet ds_user= new DataSet();

ds_user = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(strSql_User);

if ( ds_user.Tables[0].Rows.Count > 0 )

{

for ( int i = 0 ; i < ds_user.Tables[0].Rows.Count ; i ++ )

{

string strSql_Purview = "Select top 1 * from Purview_All order by nodeid desc";

DataSet ds_purview= new DataSet();

ds_purview = YljWeb.Classes.SqlConn.ExecuteSqlForDataSet(strSql_Purview);

/////// 组合用户权限列表的项 /////////////////////

if ( ds_purview.Tables[0].Rows.Count > 0 )

{

for ( int j = 0 ; j < ds_purview.Tables[0].Rows.Count ; j ++ )

{

string username = ds_user.Tables[0].Rows[i]["username"].ToString().Trim();

string nodeid = ds_purview.Tables[0].Rows[j]["nodeid"].ToString().Trim();

string parentid = ds_purview.Tables[0].Rows[j]["parentid"].ToString().Trim();

string mytext = ds_purview.Tables[0].Rows[j]["mytext"].ToString().Trim();

string location = ds_purview.Tables[0].Rows[j]["location"].ToString().Trim();

string command_name = ds_purview.Tables[0].Rows[j]["command_name"].ToString().Trim();

string order_id = ds_purview.Tables[0].Rows[j]["order_id"].ToString().Trim();

try

{

//////// 写入用户权限数据库 ///////////////////////////

string strSql_Insert = "Insert into Purview_User_Have (username,nodeid,parentid,mytext,location,command_name,order_id,state) values('"+ username +"','"+ nodeid +"','"+ parentid +"','"+ mytext +"','"+ location +"','"+ command_name +"','"+ order_id +"',0)";

YljWeb.Classes.SqlConn.ExecuteSql(strSql_Insert);

}

catch(Exception er)

{

this.ShowErrMsg(" Sorry! 用户权限初始化失败!原因是:"+ er.Message);

}

}

}

else

{

this.ShowErrMsg("对不起,系统功能列表为空,请先设置功能列表!2秒自动转到功能设置页面");

}

}

////// 在这里是调用这个方法,所以最好不要出现以下提示

// this.ShowErrMsg(" 提示:用户权限初始化成功!");

}

else

{

this.ShowErrMsg("对不起,暂时没有用户,请先填加用户!2秒自动转到填加用户页面");

}

}

/// <summary>

/// /

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btn_DelNode_Click(object sender, System.EventArgs e)

{

if (Request["location"]==null) // 判断是否选择左边导航树节点

{

this.ShowErrMsg("请选择左边导航树节点,再做添加操作!");

return;

}

tree.DelTreeViewNode("nodeid","parentid","Purview_All",Curnodeid); // 递归删除节点

////// 删除Purview_User_Have中的相应记录

Delete_Purview_User_Have();

string str_Sql="select * from Purview_All";

if (YljWeb.Classes.SqlConn.GetRowCount(str_Sql)>0) // 如果树表中存在记录,就做遍历树等操作

{

btn_DelNode.Visible=true;

btn_AddBrotherNode.Visible=true;

btn_AddChildNode.Visible=true;

btn_AddRootNode.Visible=false;

}

else // 如果数表中不存在记录,就清空数

{

btn_DelNode.Visible=false;

btn_AddBrotherNode.Visible=false;

btn_AddChildNode.Visible=false;

btn_AddRootNode.Visible=true;

}

// 刷新左边树导航

lbl_Error.Text="<script language=\"javascript\">parent.frames(\"leftFrame\").document.location.reload();</"+"script>";

}

public void Delete_Purview_User_Have()

{

str_Sql = "Delete from Purview_User_Have where location like '"+ str_Location +"%'";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql);

}

/// <summary>

/// /

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btn_AddRootNode_Click(object sender, System.EventArgs e)

{

// 下面增加根节点

string str_Sql="select * from Purview_All where parentid='0_'";

int count=int.Parse(YljWeb.Classes.SqlConn.GetRowCount(str_Sql).ToString());

if ( count != 0 )

{

this.ShowErrMsg("已经存在根结点,只能有一个根结点,填加失败!"); // 判断不能给跟节点增加兄弟节点

return;

}

string MyText = this.txt_Mytext.Text.ToString();

tree.AddRootNode("nodeid","order_id","parentid","location","mytext","Purview_All",MyText);

// 将最新加入的权限填加到Purview_User_Have预定义

Add_To_Purview_User_Have();

btn_DelNode.Visible=true;

btn_AddBrotherNode.Visible=true;

btn_AddChildNode.Visible=true;

btn_AddRootNode.Visible=false;

// 刷新左边树导航

lbl_Error.Text="<script language=\"javascript\">parent.frames(\"leftFrame\").document.location.reload();</"+"script>";

}

/// <summary>

///

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

// public void node_Delete(Object sender, DataGridCommandEventArgs e)

// {

// string nodeid=e.Item.Cells[0].Text.ToString();

// this.ShowErrMsg("对不起,删除失败!原因:"+ nodeid);

// try

// {

// string deleteCmd = "Delete from Purview_All where nodeid ='"+ nodeid +"'";

// YljWeb.Classes.SqlConn.ExecuteSql(deleteCmd);

// BindGrid();

// }

// catch(Exception er)

// {

// this.ShowErrMsg("对不起,删除失败!原因:"+ er.Message);

// }

// /////////////// 在 1秒后自动刷新 //////////////////////////////////////////

// Response.Write("<meta http-equiv=refresh content=0>");

// }

/// <summary>

///

/// </summary>

/// <param name="source"></param>

/// <param name="e"></param>

// private void show_all_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)

// {

// if(e.SortExpression==ViewState["Sort"].ToString() )

// {

// ViewState["Sort"]=ViewState["Sort"]+" desc";

// }

// else

// {

// ViewState["Sort"]=e.SortExpression;

// }

// BindGrid();

// }

/// <summary>

/// /

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

// private void show_all_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

// {

// System.Web.UI.WebControls.Button TempBtn;

// TempBtn=(System.Web.UI.WebControls.Button)e.Item.FindControl("node_delete") ;

// if(object.Equals(TempBtn,null)==false)

// {

// TempBtn.Attributes.Add("onClick","javascript:return confirm('你确定要删除此结点及其子结点吗?')");

// }

// }

/// <summary>

/// ////////////////////////////// 弹出消息框 ////////////////////////////////////////

/// </summary>

/// <param name="MsgStr"></param>

private void ShowErrMsg(string MsgStr)

{

this.Response.Write("<script language='javascript'>");

this.Response.Write("alert('" +MsgStr + "');");

this.Response.Write("</script>");

}

private void btn_CruNode_Modify_Click(object sender, System.EventArgs e)

{

string str_Sql = "Update Purview_All set mytext ='"+ MyText +"',command_name = '"+ MyText2 +"' where location = '"+ cru_location +"' ";

try

{

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql);

/////// 修改Purview_User_Have,使之同步

Update_Purview_User_Have();

this.ShowErrMsg("修改成功");

Response.Write("<meta http-equiv=refresh content=0>");

lbl_Error.Text="<script language=\"javascript\">parent.frames(\"leftFrame\").document.location.reload();</"+"script>";

}

catch(Exception er)

{

this.ShowErrMsg("对不起,修改失败!原因:"+ er.Message);

}

}

public void Update_Purview_User_Have()

{

str_Sql = "Update Purview_User_Have set mytext ='"+ MyText +"',command_name = '"+ MyText2 +"' where location = '"+ cru_location +"' ";

YljWeb.Classes.SqlConn.ExecuteSql(str_Sql);

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有