using System;
using System.Data;
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 System.Xml;
using System.Data.SqlClient;
public partial class security_UsersManage : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
//公司根数据为“10000”
InitTreeCompany(TreeView1.Nodes, "10000",0);
this.TreeView1.DataBind();
TreeView1.CollapseAll();//关闭所有节点
TreeView1.ShowLines = true;
}
}
private void geticon()
{
//this.TreeView1
}
private DataSet CreateDataSet(String dbtablename)
{
string cmdSelect = "select * from "+dbtablename;
SqlDataAdapter myCmd = new SqlDataAdapter(cmdSelect, ConfigurationManager.ConnectionStrings["SQL2005ExpressConnectionString"].ToString());
DataSet ds = new DataSet();
//ds.Tables[dbtablename].Clear();
myCmd.Fill(ds, dbtablename);
return ds;
}
private void InitTreeCompany(TreeNodeCollection Nds, string parentId,int timesc)
{
DataView dvCompany = new DataView();
TreeNode tmpNd;
string strCID;
int level = 0;
dvCompany.Table = CreateDataSet("Membership_Companies").Tables["Membership_Companies"];
dvCompany.RowFilter = "ParentCompany= '" + parentId + "'";
int levelcount = dvCompany.Count;
foreach (DataRowView drvCompany in dvCompany)
{
strCID = drvCompany["CompanyID"].ToString();
tmpNd = new TreeNode();
tmpNd.Value = drvCompany["CompanyID"].ToString();
tmpNd.Text = drvCompany["CompanyName"].ToString();
tmpNd.ToolTip = "Company";
Nds.Add(tmpNd);
level = Nds.Count;
InitTreeDepartment(tmpNd.ChildNodes, "20000", 0, strCID);
InitTreeCompany(tmpNd.ChildNodes, strCID,timesc+1);
}
}
private void InitTreeDepartment(TreeNodeCollection Nds, string parentId,int timesd,string companyid )
{
DataView dvDepartment = new DataView();
TreeNode tmpNd;
string strDID;
int number=0;
dvDepartment.Table = CreateDataSet("View_Membership_CompaniesDepartments").Tables["View_Membership_CompaniesDepartments"];
dvDepartment.RowFilter = "ParentDepartment= '" + parentId + "'and CompanyID='"+companyid+"'";
foreach (DataRowView drvDepartment in dvDepartment)
{
strDID = drvDepartment["DepartmentID"].ToString();
tmpNd = new TreeNode();
tmpNd.Value = drvDepartment["DepartmentID"].ToString();
tmpNd.Text = drvDepartment["DepartmentName"].ToString();
tmpNd.ToolTip = "Department";
Nds.Add(tmpNd);
number = Nds.Count;
InitTreeUser(tmpNd.ChildNodes, 0,strDID);
InitTreeDepartment(tmpNd.ChildNodes, strDID, timesd + 1, companyid);
}
}
private void InitTreeUser(TreeNodeCollection Nds, int timesu, string departmentid)
{
DataView dvUser = new DataView();
TreeNode tmpNd;
string strUID;
dvUser.Table = CreateDataSet("View_Membership_DepartmentsUsers").Tables["View_Membership_DepartmentsUsers"];
dvUser.RowFilter = " DepartmentID=" + departmentid ;
foreach (DataRowView drvUser in dvUser)
{
strUID = drvUser["UserID"].ToString();
tmpNd = new TreeNode();
tmpNd.Value = drvUser["UserID"].ToString();
tmpNd.Text = drvUser["UserName"].ToString();
tmpNd.ToolTip = "User";
Nds.Add(tmpNd);
}
}