Treeview 控件使用问题
本帖最后由 huanggreat 于 2013-01-26 20:45:29 编辑 我最近被变态的客户要用到Treeview控件,绑定数据,每个节点保存的数据都是从不同的表里读取的,
到绑定到第4层时 只要一运行IE 就假死。代码如下,如何解决这个问题呢?
private void BindTree()
{
TreeNode ParentNode;
TreeNode ChildNode;
TreeNode SzNote;
TreeNode SszNote;
TreeNode TreeList;
DataTable Dt = DbHelperSQL.QueryDataTable("SELECT ID,CompanyName FROM Company_Abbreviation");
DataTable SzDt = DbHelperSQL.QueryDataTable("SELECT ID,CardRightDescription FROM Card_Right");
DataTable SszDt = DbHelperSQL.QueryDataTable("SELECT distinct(JobType) FROM WorkType WHERE LEN(JobType)>0");
DataTable DtTreeList = DbHelperSQL.QueryDataTable("SELECT top 4 Work_Pos FROM WorkType");
//XX
ParentNode = new TreeNode("XX", "0", "Images/ParentNode.gif");
TreeView1.Nodes.Add(ParentNode);
ParentNode.Expanded = false;
ParentNode.NavigateUrl = "right.aspx?id=0";
ParentNode.Target = "mainFrame";
//ParentNode.SelectAction = TreeNodeSelectAction.Expand;
//公司
foreach (DataRow ChildRow in Dt.Rows)
{
ChildNode = new TreeNode(ChildRow["CompanyName"].ToString(), ChildRow["ID"].ToString(), "Images/ChildNode.gif");
ParentNode.ChildNodes.Add(ChildNode);
ChildNode.Expanded = false;
ChildNode.NavigateUrl = "right.aspx?id=1&company=" + ChildRow["CompanyName"].ToString();
ChildNode.Target = "mainFrame";
//ChildNode.SelectAction = TreeNodeSelectAction.Expand;
//区域
foreach (DataRow SzNodes in SzDt.Rows)
{
SzNote = new TreeNode(SzNodes["CardRightDescription"].ToString(), SzNodes["ID"].ToString(), "Images/sz.gif");
ChildNode.ChildNodes.Add(SzNote);
SzNote.Expanded = false;
SzNote.NavigateUrl = "right.aspx?id=2&company=" + ChildRow["CompanyName"].ToString()+"";
SzNote.Target = "mainFrame";
// SzNote.SelectAction = TreeNodeSelectAction.Expand;
//工种类
foreach (DataRow SszNodes in SszDt.Rows)
{
SszNote=new TreeNode(SszNodes["JobType"].ToString(), SszNodes["JobType"].ToString(), "Images/ssz.png");
SzNote.ChildNodes.Add(SszNote);
SszNote.Expanded = false;
foreach (DataRow TlNodes in DtTreeList.Rows)
{
TreeList = new TreeNode(TlNodes["Work_Pos"].ToString(), TlNodes["Work_Pos"].ToString(), "Images/TreeList.gif");
SszNote.ChildNodes.Add(TreeList);
SszNote.Expanded = false;
}
}
}
}
}
[解决办法]
最好用js的tree
可能生成的东西太多了~
先把viewstate关了试试看~
[解决办法]
是啊 试试js的~~~
[解决办法]
Treeview控件 前台生成的东西太多了
你可以用ajax取数据填充,你能不能把需要的数据都弄到一个统一的表里面啊
要不你要从不同的表查,多麻烦啊,你导数据就一次
[解决办法]
首先确定是为什么死,是不是到了那层,导致死循环呢,你先把这个问题找到,用什么都不是问题
[解决办法]
简单的方式:点击哪层,显示哪层的子集