TreeView问题,在有的服务器上可以运行,而在有的服务器中取不能
代码
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 MIS.IE_Export_DAL;
public partial class IE_Toptreeview : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string msg = "";
IeSystemStruct ies = new IeSystemStruct();
string sid = (string)Session["ID"];
DataTable dt = ies.Getsystemstruct(sid, out msg);
if (dt != null)
{
PopulateNodes(this.TreeView1.Nodes, "0", dt);
TreeView1.Nodes[0].Selected = true;
TreeView1.SelectedNode.Expanded = true;
}
}
}
#region 递归调用
/// <summary>
/// 递归调用 加载模块
/// </summary>
/// <param name="nodes"></param>
/// <param name="strParentID"></param>
/// <param name="dt"></param>
public void PopulateNodes(TreeNodeCollection nodes, string strParentID, DataTable dt)
{
DataView dv = dt.DefaultView;
dv.RowFilter = "ParentID='" + strParentID + "'";
foreach (DataRowView drv in dv)
{
TreeNode tmpNd = new TreeNode();
tmpNd.Value = drv["DepartmentID"].ToString();
// tmpNd.Value = drv[2].ToString().Trim();
if (drv["DeptLeader"].ToString() == "N")
{
if (drv["Main_ID"].ToString() == "Export")
{
if (drv["CostCode"].ToString() != "")
{
tmpNd.NavigateUrl = "/OTIZWEB/IE/Export/" + drv["CostCode"].ToString();
tmpNd.Target = "mainFrame";
}
}
else if (drv["Main_ID"].ToString() == "LC")
{
if (drv["CostCode"].ToString() != "")
{
tmpNd.NavigateUrl = "/OTIZWEB/IE/Export/LC/" + drv["CostCode"].ToString();
tmpNd.Target = "mainFrame";
}
}
else if (drv["Main_ID"].ToString() == "Shipping")
{
if (drv["CostCode"].ToString() != "")
{
tmpNd.NavigateUrl = "/OTIZWEB/IE/Export/Shipping/" + drv["CostCode"].ToString();
tmpNd.Target = "mainFrame";
}
}
else if (drv["Main_ID"].ToString() == "IE")
{
if (drv["CostCode"].ToString() != "")
{
tmpNd.NavigateUrl = "/OTIZWEB/IE/" + drv["CostCode"].ToString();
tmpNd.Target = "mainFrame";
}
}
else if (drv["Main_ID"].ToString() == "FEPI")
{
if (drv["CostCode"].ToString() != "")
{
tmpNd.NavigateUrl = "/OTIZWEB/IE/Export/FEPI/" + drv["CostCode"].ToString();
tmpNd.Target = "mainFrame";
}
}
tmpNd.Text = "<span style='color:Blue'>" + drv["DepartmentName"].ToString() + "</span>";
}
else
{
tmpNd.Text = drv["DepartmentName"].ToString();
}
nodes.Add(tmpNd);
PopulateNodes(tmpNd.ChildNodes, tmpNd.Value.ToString(), dt);
}
}
#endregion
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
for (int i = 0; i < this.TreeView1.Nodes.Count; i++)
{//跌迭根节点
if (this.TreeView1.SelectedValue == this.TreeView1.Nodes[i].Value)
{//如果选中的是根节点,就展开
this.TreeView1.SelectedNode.Expanded = true;
}
else
{
if (TreeView1.SelectedNode.Parent != null)
{
//如果选中的不是根节点
for (int j = 0; j < this.TreeView1.SelectedNode.Parent.ChildNodes.Count; j++)
{//就让选中节点的所有同级节点收缩
this.TreeView1.SelectedNode.Parent.ChildNodes[j].CollapseAll();
}
//然后再展开选中的节点及其所有父节点
this.TreeView1.SelectedNode.Parent.Expanded = true;
this.TreeView1.SelectedNode.Expanded = true;
if (TreeView1.SelectedNode.NavigateUrl != "")
{
treeinput.Value = TreeView1.SelectedNode.NavigateUrl;
}
}
}
}
}
}