111,129
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Data;
using System.Configuration;
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.Drawing;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
DB db = new DB();
public TreeNode[] 主部门;
public TreeNode[] 子部门;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView1.SelectedNode.Text == "全部")
return;
//说明是第二层(主部门结点)
if ((TreeView1.SelectedNode.Parent.Parent == null) && (TreeView1.SelectedNode.Parent != null))
{
TreeView1.SelectedNode.ChildNodes.Clear();
string strSql = "SELECT gh,name,sex,bumen_bh,mc FROM employee A LEFT JOIN bumen B ON A.bumen_bh=B.bh WHERE B.mc='" + TreeView1.SelectedNode.Text + "'";
DataTable emp = db.Query(strSql);
for (int i = 0; i < emp.Rows.Count; i++)
{
TreeNode tn = new TreeNode(emp.Rows[i][1].ToString());
TreeView1.SelectedNode.ChildNodes.Add(tn);
}
}
//当是第三层(子部门结点)
else if ((TreeView1.SelectedNode.Parent.Parent.Parent == null) && (TreeView1.SelectedNode.Parent != null))
{
}
//当是员工时
else if ((TreeView1.SelectedNode.Parent.Parent.Parent.Parent == null) && (TreeView1.SelectedNode.Parent != null))
{
}
}
protected void TreeView1_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TreeNode 全部 = new TreeNode("全部");
string strMain = "SELECT bh,mc FROM bumen WHERE len(bh)=3 ORDER BY bh";
DataTable dt1 = db.Query(strMain);
主部门 = new TreeNode[dt1.Rows.Count];
string strChild = "SELECT bh,mc,bh_parent FROM bumen WHERE len(bh)>3 ORDER BY bh";
DataTable dt2 = db.Query(strChild);
子部门 = new TreeNode[dt2.Rows.Count];
//先生成子部门
for (int j = 0; j < dt2.Rows.Count; j++)
{
子部门[j] = new TreeNode(dt2.Rows[j][1].ToString(), "", "Image/Untitled - 2.ico");
}
//在生成主部门的同时,加载子部门
for (int i = 0; i < dt1.Rows.Count; i++)
{
主部门[i] = new TreeNode(dt1.Rows[i][1].ToString(), "", "Image/Untitled - 2.ico");
for (int j = 0; j < dt2.Rows.Count; j++)
{
if (dt1.Rows[i][0].ToString() == dt2.Rows[j][2].ToString())
{
if (子部门[j].Text == dt2.Rows[j][1].ToString())
{
主部门[i].ChildNodes.Add(子部门[j]);
}
}
}
}
//最后加载
TreeView1.Nodes.Add(全部);
for (int i = 0; i < dt1.Rows.Count; i++)
全部.ChildNodes.Add(主部门[i]);
}
}
}