1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Dim item, item2 As Object
Dim i, k As Integer
Dim rs As New Microsoft.SqlServer.ReportingServices2005.ReportingService2005
Dim cat() As Microsoft.SqlServer.ReportingServices2005.CatalogItem = Nothing
Dim root As New TreeNode
root.Text = "ReportServer"
TreeView1.Nodes.AddAt(0, root)
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
i = 0
If Not Page.IsPostBack Then
cat = rs.ListChildren("/", True)
For Each item In cat
If item.Type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.Folder Then
Dim enfant As New TreeNode
enfant.Text = item.name
TreeView1.Nodes(0).ChildNodes.AddAt(i, enfant)
i = i + 1
For Each item2 In rs.ListChildren("/" & enfant.text, True)
k = 0
Dim enfant2 As New TreeNode
If item2.type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.Report Then
enfant2.Text = item2.name
enfant.ChildNodes.AddAt(k, enfant2)
k = k + 1
ElseIf item2.type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.DataSource Then
enfant2.ImageUrl = "datasource.gif"
enfant2.Text = item2.name
enfant.ChildNodes.AddAt(k, enfant2)
k = k + 1
ElseIf item2.type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.Model Then
enfant2.ImageUrl = "model.gif"
enfant2.Text = item2.name
enfant.ChildNodes.AddAt(k, enfant2)
k = k + 1
'******************ICI**************************'
'Si item2 n'existe pas, c'est a dire si enfant (un dossier) est vide alors
'ajout d'un enfant avec pour nom EMPTY
'j'ai essayé item2= et Is nothing,rs.ListChildren("/" & enfant.text, True) = et Is nothing...rien ne marche!'
ElseIf item2 = Nothing Then
k = 0
enfant2.text = "EMPTY"
enfant.childNodes.addAt(k, enfant2)
Exit For
End If
Next
End If
Next
End If |