首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Treeview 控件使用有关问题

2013-02-03 
Treeview 控件使用问题本帖最后由 huanggreat 于 2013-01-26 20:45:29 编辑我最近被变态的客户要用到Treev

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取数据填充,你能不能把需要的数据都弄到一个统一的表里面啊

要不你要从不同的表查,多麻烦啊,你导数据就一次
[解决办法]
首先确定是为什么死,是不是到了那层,导致死循环呢,你先把这个问题找到,用什么都不是问题
[解决办法]
简单的方式:点击哪层,显示哪层的子集

热点排行