Usuário com melhor resposta
Ordenar dropdownlist com Linq

Pergunta
-
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.
- Marcado como Resposta Fernando Oliveira quinta-feira, 26 de outubro de 2017 18:01
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.
- Sugerido como Resposta CarlosEduardo Ferreira quinta-feira, 26 de outubro de 2017 11:33
-
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
-
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.
-
-
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.
- Marcado como Resposta Fernando Oliveira quinta-feira, 26 de outubro de 2017 18:01
-