Forum Discussion

lenny76's avatar
lenny76
Regular Visitor
8 years ago
Solved

api getreport - sort list

HI

 

I've this function to get the list of report with API

and I put the list in a asp:dropdownlist

 

can you help me to sort them alfabetically?

 

    Protected Sub GetReport(ByVal index As Integer)
        Dim request As System.Net.WebRequest = TryCast(System.Net.WebRequest.Create(String.Format("{0}/Reports", baseUri)), System.Net.HttpWebRequest)
        request.Method = "GET"
        request.ContentLength = 0
        request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken.Value))
        Using response = TryCast(request.GetResponse(), System.Net.HttpWebResponse)
            Using reader = New System.IO.StreamReader(response.GetResponseStream())
                Dim Reports As PBIReports = JsonConvert.DeserializeObject(Of PBIReports)(reader.ReadToEnd())

For Each r In Reports.value elencoreport.Items.Add(New ListItem(r.name, r.id)) Next End Using End Using End Sub

 

thanks

Lenny

 

  • Hi lenny76,

     

    Here is a similar thread in which some workarounds are mentioned. Could you go to check if it helps in your scenario?

     

    In addition, the code below is for your reference. :smileyhappy:

     

    Protected Sub GetReport(ByVal index As Integer)
            Dim request As System.Net.WebRequest = TryCast(System.Net.WebRequest.Create(String.Format("{0}/Reports", baseUri)), System.Net.HttpWebRequest)
            request.Method = "GET"
            request.ContentLength = 0
            request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken.Value))
            Using response = TryCast(request.GetResponse(), System.Net.HttpWebResponse)
                Using reader = New System.IO.StreamReader(response.GetResponseStream())
                    Dim Reports As PBIReports = JsonConvert.DeserializeObject(Of PBIReports)(reader.ReadToEnd())
    
                    For Each r In Reports.value
                        elencoreport.Items.Add(New ListItem(r.name, r.id))
                    Next
                    List<ListItem> items = (from item in elencoreport.Items.Cast<ListItem>()
                                        orderby item.Text
                                        select item).ToList<ListItem>();
                    elencoreport.Items.Clear();
                    elencoreport.Items.AddRange(items.ToArray());
                End Using
            End Using
        End Sub

     

    Regards

2 Replies

  • v-ljerr-msft's avatar
    v-ljerr-msft
    Microsoft Employee

    Hi lenny76,

     

    Here is a similar thread in which some workarounds are mentioned. Could you go to check if it helps in your scenario?

     

    In addition, the code below is for your reference. :smileyhappy:

     

    Protected Sub GetReport(ByVal index As Integer)
            Dim request As System.Net.WebRequest = TryCast(System.Net.WebRequest.Create(String.Format("{0}/Reports", baseUri)), System.Net.HttpWebRequest)
            request.Method = "GET"
            request.ContentLength = 0
            request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken.Value))
            Using response = TryCast(request.GetResponse(), System.Net.HttpWebResponse)
                Using reader = New System.IO.StreamReader(response.GetResponseStream())
                    Dim Reports As PBIReports = JsonConvert.DeserializeObject(Of PBIReports)(reader.ReadToEnd())
    
                    For Each r In Reports.value
                        elencoreport.Items.Add(New ListItem(r.name, r.id))
                    Next
                    List<ListItem> items = (from item in elencoreport.Items.Cast<ListItem>()
                                        orderby item.Text
                                        select item).ToList<ListItem>();
                    elencoreport.Items.Clear();
                    elencoreport.Items.AddRange(items.ToArray());
                End Using
            End Using
        End Sub

     

    Regards