Пример #1
0
        private void ExpandNode(TreeListNode nodeTarget, bool refresh)
        {
            if (nodeTarget == null)
            {
                return;
            }

            if (!refresh && nodeTarget.HasChildren)
            {
                return;
            }

            nodeTarget.Nodes.Clear();
            ICatalogItem catalogItem = nodeTarget.Tag as ICatalogItem;

            if (!catalogItem.HasChild)
            {
                return;
            }

            ThreadLoad frmload = new ThreadLoad();
            Thread     ui      = frmload.CreatUIThread("正在加载,请稍候...");

            try
            {
                List <ICatalogItem> catalogItemList = catalogItem.Childrens;
                if (catalogItemList == null)
                {
                    DevExpress.XtraEditors.XtraMessageBox.Show("打开失败");
                    return;
                }
                foreach (ICatalogItem subItem in catalogItemList)
                {
                    if (subItem == null)
                    {
                        continue;
                    }

                    TreeListNode nodeSub = m_TreeList.AppendNode(new object[] { subItem.Name }, nodeTarget);
                    nodeSub.Tag              = subItem;
                    nodeSub.ImageIndex       = GetImageIndex(subItem);
                    nodeSub.SelectImageIndex = 18;
                    BandEvent(nodeSub, subItem);
                    //subItem.OnOpen += delegate
                    //{
                    //    ExpandNode(nodeSub, true);
                    //};

                    //subItem.OnRefresh += delegate
                    //{
                    //    nodeSub.Nodes.Clear();
                    //    if (subItem is IWorkspaceCatalogItem)
                    //    {
                    //        nodeSub.ImageIndex = 0;
                    //    }
                    //};
                }
                nodeTarget.ExpandAll();
                // 如果是Workspace,改成连接的图标
                if (catalogItem is IWorkspaceCatalogItem)
                {
                    nodeTarget.ImageIndex = 1;
                }
            }
            catch
            {
            }
            finally
            {
                ui.Abort();
            }
        }
Пример #2
0
        private void ExpandNode(TreeListNode nodeTarget,bool refresh)
        {
            if (nodeTarget == null)
                return;

            if (!refresh && nodeTarget.HasChildren)
                return;

            nodeTarget.Nodes.Clear();
            ICatalogItem catalogItem = nodeTarget.Tag as ICatalogItem;
            if (!catalogItem.HasChild)
                return;

            ThreadLoad frmload = new ThreadLoad();
            Thread ui = frmload.CreatUIThread("正在加载,请稍候...");

            try
            {
                List<ICatalogItem> catalogItemList = catalogItem.Childrens;
                if (catalogItemList == null)
                {
                    DevExpress.XtraEditors.XtraMessageBox.Show("打开失败");
                    return;
                }
                foreach (ICatalogItem subItem in catalogItemList)
                {
                    if (subItem == null)
                        continue;

                    TreeListNode nodeSub = m_TreeList.AppendNode(new object[] { subItem.Name }, nodeTarget);
                    nodeSub.Tag = subItem;
                    nodeSub.ImageIndex = GetImageIndex(subItem);
                    nodeSub.SelectImageIndex = 18;
                    BandEvent(nodeSub, subItem);
                    //subItem.OnOpen += delegate
                    //{
                    //    ExpandNode(nodeSub, true);
                    //};

                    //subItem.OnRefresh += delegate
                    //{
                    //    nodeSub.Nodes.Clear();
                    //    if (subItem is IWorkspaceCatalogItem)
                    //    {
                    //        nodeSub.ImageIndex = 0;
                    //    }
                    //};
                }
                nodeTarget.ExpandAll();
                // 如果是Workspace,改成连接的图标
                if (catalogItem is IWorkspaceCatalogItem)
                {
                    nodeTarget.ImageIndex = 1;
                }
            }
            catch
            {
            }
            finally
            {
                ui.Abort();
            }
        }