treeView.ExpandAll();
添加上面代码后,treeView还是没有展开,是怎么回事?

解决方案 »

  1.   

     /// <summary>
            /// 初始树根节点
            /// </summary>
            private void InitTreeView()
            {            this.treeView.Nodes.Clear();
                OTMS.SysModuleDataSetTableAdapters.TbModuleTableAdapter AD = new OTMS.SysModuleDataSetTableAdapters.TbModuleTableAdapter();            _dtblModule = AD.GetData();
                DataRow[] drAry = _dtblModule.Select(_dtblModule.strParentModuleCodeColumn.ColumnName + "='0'");
                TreeNode trn = new TreeNode();
                trn.Text = drAry[0][_dtblModule.strModuleNameColumn.ColumnName].ToString();            trn.Name = drAry[0][_dtblModule.strModuleCodeColumn.ColumnName].ToString();
                
                this.treeView.Nodes.Add(trn);            CreateTreeView(trn, trn.Name);
                
            }
      

  2.   

    在 InitTreeView() 
    方法后面加 treeView.ExpandAll(); 看看.
      

  3.   

            /// <summary>
            /// 构建树
            /// </summary>
            /// <param name="trn">树节点</param>
            /// <param name="strParentNodeCode">父节点编码</param>
            private void CreateTreeView(TreeNode trn, string strParentNodeCode)
            {
                DataRow[] drAry = _dtblModule.Select(_dtblModule.strParentModuleCodeColumn.ColumnName + "='" + strParentNodeCode + "'");            for (int nIndex = 0; nIndex < drAry.Length; nIndex++)
                {
                    //“公共”模块不参与权限控制
                    if ("权限控制" == drAry[nIndex][_dtblModule.strMduCommonColumn.ColumnName].ToString())
                    {
                        OTMS.VwRolePowerDataSetTableAdapters.QueriesTableAdapter bs = new OTMS.VwRolePowerDataSetTableAdapters.QueriesTableAdapter();
                        object obj = bs.GetRolePowerCount(drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString(), base.RoleCode.ToString());
                        ////如果此角色拥有该模块的功能数为0,则不显示此菜单
                        //object obj = new perVwRolePowerTableAdapter().GetRolePowerCount(drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString(), base.UserRoleCode);
                        if (0 == Convert.ToInt32(obj))
                        {
                            continue;
                        }                }
                    TreeNode trnChild = new TreeNode();
                    trnChild.Text = drAry[nIndex][_dtblModule.strModuleNameColumn.ColumnName].ToString();//得到结点的名称
                    trnChild.Name = drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString();//得到结点的编号                trn.Nodes.Add(trnChild);                CreateTreeView(trnChild, trnChild.Name);
                   
                    
                }        }
      

  4.   

    在你绑定完树节点后面加上treeView.ExpandAll(); 
      

  5.   

    trn.Nodes.Add(trnChild);
         treeView.ExpandAll();
                    CreateTreeView(trnChild, trnChild.Name); 
      

  6.   

    在Form_Load中加入 treeView.ExpandAll(); 
    而不是在构造函数中加, 试一下