62,046
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DataProvider;
using WavenetWebFrameWork.FrameWorkBase.PageBase;
namespace WaveDBMS
{
public partial class NewMenu : System.Web.UI.Page
{
#region ARGS
private TreeNode[] treF, treC,treGs;
private TreeNode treG;
private string[] strF, strC,strCL,strGs,strGsL;
private string strCon,strDBType,strUID;
protected DataProviderFactory dpf;
private string strSqlF, strSqlC, strSqlGs;
private DataTable dtF,dtC,dtGs;
private int intFRowsLength, intCRowsLength, intGsRowsLength;
PageBase pb = new PageBase();
public string UserID
{
get { return strUID; }
set { strUID = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
strCon = System.Configuration.ConfigurationSettings.AppSettings.Get("UserAppData");
strDBType = System.Configuration.ConfigurationSettings.AppSettings.Get("UserAppDataType");
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + strCon + "\";Persist Security Info=True";
strCon = pb.userappdata;
dpf = new DataProviderFactory(strDBType, strCon, "");
strUID = "1";
if(!IsPostBack)
{
treG = new TreeNode();
treG.Text = "排水行业数据库";
treG.ImageUrl = "~/Images/database1.gif";
this.TreeV.Nodes.Add(treG);
this.BuildTrees();
}
}
protected void BuildTrees()
{
strSqlF = "SELECT ID,MENUNAME,LINKURL FROM MENU WHERE PARENTID=-1";
String strSqlF4 = "";
strSqlF4 = "SELECT MENU.ID AS AA,MENU.MENUNAME AS BB,MENU.LINKURL AS CC,MENU.PARENTID AS DD ";
strSqlF4 += " FROM MENU,RULES,ROLE2RULE ";
strSqlF4 += " WHERE MENU.ID = RULES.MENUID ";
strSqlF4 += " AND RULES.RULEID = ROLE2RULE.RULEID";
strSqlF4 += " AND ROLE2RULE.ROLEID = "+strUID ;
strSqlF4 += " AND ROLE2RULE.RULEACTIONVALUE=1";
//strSqlF = "SELECT MENU2.AA,MENU2.BB,MENU2.CC,MENU2.DD FROM (" + strSqlF4 + ") MENU2 WHERE MENU2.DD=-1";
dtF = dpf.GetData(strSqlF);
intFRowsLength = dtF.Rows.Count;
if (intFRowsLength < 1)
{
return;
}
strF = new string[intFRowsLength];
treF = new TreeNode[intFRowsLength];
for (int i = 0; i < intFRowsLength ; i++)
{
strF[i] = dtF.Rows[i][1].ToString();
treF[i] = new TreeNode();
treF[i].Text=strF[i];
treF[i].CollapseAll();
treF[i].ImageUrl = "~/Images/database2.gif";
this.treG.ChildNodes.Add(treF[i]);
//////////////////
strSqlC = "SELECT ID,MENUNAME,LINKURL FROM MENU WHERE PARENTID=" + dtF.Rows[i][0].ToString();
//strSqlC = "SELECT MENU2.AA,MENU2.BB,MENU2.CC,MENU2.DD FROM (" + strSqlF4 + ") MENU2 WHERE MENU2.DD=" + dtF.Rows[i][0].ToString();
dtC = dpf.GetData(strSqlC);
intCRowsLength = dtC.Rows.Count;
strC = new string[intCRowsLength];
strCL = new string[intCRowsLength];
treC = new TreeNode[intCRowsLength];
for (int j = 0; j < intCRowsLength ; j++)
{
strSqlGs = "SELECT ID,MENUNAME,LINKURL FROM MENU WHERE PARENTID=" + dtC.Rows[j][0].ToString();
dtGs = dpf.GetData(strSqlGs);
intGsRowsLength = dtGs.Rows.Count;
strC[j] = dtC.Rows[j][1].ToString();
strCL[j] = dtC.Rows[j][2].ToString();
treC[j] = new TreeNode();
treC[j].CollapseAll();
treC[j].Text = strC[j];
treC[j].NavigateUrl = strCL[j];
treC[j].Target = "MainData";
treC[j].ImageUrl = "~/Images/database3.gif";
if (intGsRowsLength>0)
{
treC[j].ImageUrl = "~/Images/database2.gif";
}
treF[i].ChildNodes.Add(treC[j]);
/////
if (intGsRowsLength == 0)
{
continue;
}
strGs = new string[intGsRowsLength];
strGsL = new string[intGsRowsLength];
treGs = new TreeNode[intGsRowsLength];
for (int h = 0; h < intGsRowsLength; h++)
{
strGs[h] = dtGs.Rows[h][1].ToString();
strGsL[h] = dtGs.Rows[h][2].ToString();
treGs[h] = new TreeNode();
treGs[h].Text = strGs[h];
treGs[h].NavigateUrl = strGsL[h];
treGs[h].Target = "MainData";
treGs[h].ImageUrl = "~/Images/database3.gif";
treC[j].ChildNodes.Add(treGs[h]);
}
}
}
}
}
}