Bon alors j'ai réussi (il faut parcourir longtemps le net, et google est notre ami n'est-ce-pas?)
Mais il subsiste un problème: 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!
Code :
Dim item, item2 AsObject
Dim i, k AsInteger
Dim rs AsNew Microsoft.SqlServer.ReportingServices2005.ReportingService2005
Dim cat()As Microsoft.SqlServer.ReportingServices2005.CatalogItem = Nothing
Dim root AsNew TreeNode
root.Text = "ReportServer"
TreeView1.Nodes.AddAt(0, root)
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
i = 0
IfNot Page.IsPostBackThen
cat = rs.ListChildren("/", True)
ForEach item In cat
If item.Type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.FolderThen
Dim enfant AsNew TreeNode
enfant.Text = item.name
TreeView1.Nodes(0).ChildNodes.AddAt(i, enfant)
i = i + 1
ForEach item2 In rs.ListChildren("/" & enfant.text, True)
k = 0
Dim enfant2 AsNew TreeNode
If item2.type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.ReportThen
enfant2.Text = item2.name
enfant.ChildNodes.AddAt(k, enfant2)
k = k + 1
ElseIf item2.type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.DataSourceThen
enfant2.ImageUrl = "datasource.gif"
enfant2.Text = item2.name
enfant.ChildNodes.AddAt(k, enfant2)
k = k + 1
ElseIf item2.type = Microsoft.SqlServer.ReportingServices2005.ItemTypeEnum.ModelThen
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 = NothingThen
k = 0
enfant2.text = "EMPTY"
enfant.childNodes.addAt(k, enfant2)
ExitFor
EndIf
Next
EndIf
Next
EndIf
Merci à tous de votre aide, parce que là, je bloque!