예제 #1
0
        public void ExpandNodeContent(TreeNode parent, bool recurseSubfolders)
        {
            foreach (var item in RsFacade.ListChildren(parent.ToolTipText, false))
            {
                if (item.Type == ReportItemTypes.Folder && (viewItem == ViewItems.Folders || viewItem == ViewItems.All || viewItem == ViewItems.Datasources))
                {
                    var folder = new TreeNode(item.Name)
                    {
                        Name        = item.Name,
                        ImageIndex  = item.Hidden ? 4 : 2,
                        Tag         = ReportItemTypes.Folder,
                        ToolTipText = item.Path
                    };
                    parent.Nodes.Add(folder);

                    if (recurseSubfolders)
                    {
                        ExpandNodeContent(folder, true);
                    }
                }
                else if (item.Type == ReportItemTypes.Datasource && (viewItem == ViewItems.Datasources || viewItem == ViewItems.All))
                {
                    var datasource = new TreeNode(item.Name)
                    {
                        Name        = item.Name,
                        ImageIndex  = 0,
                        Tag         = ReportItemTypes.Datasource,
                        ToolTipText = item.Path
                    };

                    parent.Nodes.Add(datasource);
                }
                else if (item.Type == ReportItemTypes.Report && viewItem == ViewItems.All)
                {
                    var report = new TreeNode(item.Name)
                    {
                        Name        = item.Name,
                        ImageIndex  = 1,
                        Tag         = ReportItemTypes.Report,
                        ToolTipText = item.Path
                    };
                    parent.Nodes.Add(report);
                }
                else if (item.Type == ReportItemTypes.Model && (viewItem == ViewItems.Datasources || viewItem == ViewItems.All))
                {
                    var model = new TreeNode(item.Name)
                    {
                        Name        = item.Name,
                        ImageIndex  = 4,
                        Tag         = ReportItemTypes.Model,
                        ToolTipText = item.Path
                    };

                    parent.Nodes.Add(model);
                }
            }
        }
예제 #2
0
        public byte[] CreateReport(out string reportPath)
        {
            var definition = Controller.GetBytesFromFile(@"Catalog.rdl");

            facade.CreateReport("Catalog", testFolder.Path, true, definition, null);

            var item = facade.ListChildren(testFolder.Path, false)
                       .FirstOrDefault(i => i.Name == "Catalog" && i.Type == ReportItemTypes.Report);

            Assert.IsNotNull(item);

            reportPath = item.Path;

            return(definition);
        }