none
Ordenar dropdownlist com Linq RRS feed

Respostas

  • Você adicionou a referência para System.Linq como mencionei?

    Exemplo funcionando:

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    				
    Public Module Module1
    	
    	Class Pessoa
    		Sub New(Nome As String, ID As Int32)
    			Me.Nome = Nome
    			Me.ID = ID
    		End Sub
    		
    		Public Nome As String
    		Public ID as Int32
    	End Class
    	
    	Public Sub Main()
    		Dim lista = new List(Of Pessoa)() 
    		lista.Add(new Pessoa("Maria", 1))
    		lista.Add(new Pessoa("Anderson", 2))
    		lista.Add(new Pessoa("Ana", 3))
    		
    		
    		For Each p As Pessoa in lista.OrderBy(Function(x) x.Nome)
    			Console.WriteLine("ID: {0} - Nome: {1}", p.ID, p.Nome)
    		Next
    	End Sub
    End Module

    Saída:

    ID: 3 - Nome: Ana
    ID: 2 - Nome: Anderson
    ID: 1 - Nome: Maria
    


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quinta-feira, 26 de outubro de 2017 17:23

Todas as Respostas

  • Qual tipo de fonte de dados está associando ao DropDownList? Se for um List, por exemplo, você pode aplicar o OrderBy via Linq e atribuir novamente ao DropDownList.

    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quarta-feira, 25 de outubro de 2017 18:50
  • Oi Juliano, blz?

    Sim é uma lista de objetos tipados, veja abaixo meu código:

     

    Dim objBO As New ClienteBO
                    drpClientes.DataSource = objBO.buscar()
                    drpClientes.DataTextField = "NomeRazaoSocial"
                    drpClientes.DataValueField = "ID"
                    drpClientes.DataBind()

    Esse objBO.buscar() retorna uma List(Of Cliente)

    Quero ordenar o dropdownlist pelo atributo Cliente.NomeRazaoSocial

    Abraçc

    quinta-feira, 26 de outubro de 2017 13:58
  • Tente assim então:

    Dim objBO As New ClienteBO
    drpClientes.DataSource = objBO.buscar().OrderBy(Function(x) x.NomeRazaoSocial)
    drpClientes.DataTextField = "NomeRazaoSocial"
    drpClientes.DataValueField = "ID"
    drpClientes.DataBind()

    Lembrando que você deve acrescentar o imports do Linq:

    Imports System.Linq

     

    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quinta-feira, 26 de outubro de 2017 14:39
  • Dá o seguinte erro:

    Membro público 'OrderBy' no tipo 'List(Of Cliente)' não encontrado.

    quinta-feira, 26 de outubro de 2017 16:24
  • Você adicionou a referência para System.Linq como mencionei?

    Exemplo funcionando:

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    				
    Public Module Module1
    	
    	Class Pessoa
    		Sub New(Nome As String, ID As Int32)
    			Me.Nome = Nome
    			Me.ID = ID
    		End Sub
    		
    		Public Nome As String
    		Public ID as Int32
    	End Class
    	
    	Public Sub Main()
    		Dim lista = new List(Of Pessoa)() 
    		lista.Add(new Pessoa("Maria", 1))
    		lista.Add(new Pessoa("Anderson", 2))
    		lista.Add(new Pessoa("Ana", 3))
    		
    		
    		For Each p As Pessoa in lista.OrderBy(Function(x) x.Nome)
    			Console.WriteLine("ID: {0} - Nome: {1}", p.ID, p.Nome)
    		Next
    	End Sub
    End Module

    Saída:

    ID: 3 - Nome: Ana
    ID: 2 - Nome: Anderson
    ID: 1 - Nome: Maria
    


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quinta-feira, 26 de outubro de 2017 17:23
  • Agora deu certinho.

    Veleuuuuu.

    quinta-feira, 26 de outubro de 2017 18:01