ORDENAR OBJETO LINQ
Olá amigos tudo bem?
como faça para ordenar os dados de um objeto LINQ ?
mas desejo ordenar a lista original e tudo que vi até agora é declarar um novo objeto e esse receber os dados ordenados.
Dim linq3 = From p In ListaDBs
Order By p.Titulo Ascending
Select p
tentei passar o resultado para o objeto original ListaDBs = linq3 mas não funciona.
o ListaDBS é public e esta presente em varias funções , tenho que aplicar ordenação ASC e DESC .
como faça para ordenar os dados de um objeto LINQ ?
mas desejo ordenar a lista original e tudo que vi até agora é declarar um novo objeto e esse receber os dados ordenados.
Dim linq3 = From p In ListaDBs
Order By p.Titulo Ascending
Select p
tentei passar o resultado para o objeto original ListaDBs = linq3 mas não funciona.
o ListaDBS é public e esta presente em varias funções , tenho que aplicar ordenação ASC e DESC .
um exemplo.... é assim....
var lancamentosPorAno = (from lancamento in ObjListaDeLancamentos
where ano == lancamento.AnoExercicioFiscal
select lancamento).OrderBy(lanc => lanc.AnoExercicioFiscal).ToList();
ou
return ObjQuadraFaceCorrecaoMonetaria.QuadraFaceCorrecaoMonetariaValores.ToList().OrderBy(o => o.GetType().GetProperty(sortBy).GetValue(o, null).ToString()).ToList();
isso é o que eu uso aqui...
var lancamentosPorAno = (from lancamento in ObjListaDeLancamentos
where ano == lancamento.AnoExercicioFiscal
select lancamento).OrderBy(lanc => lanc.AnoExercicioFiscal).ToList();
ou
return ObjQuadraFaceCorrecaoMonetaria.QuadraFaceCorrecaoMonetariaValores.ToList().OrderBy(o => o.GetType().GetProperty(sortBy).GetValue(o, null).ToString()).ToList();
isso é o que eu uso aqui...
oi F001E , e como eu retorno os dados ordenados ao linq original?
faça assim....
public List<Employee> Sort(List<Employee> list, String sortBy, String sortDirection)
{
PropertyInfo property = list.GetType().GetGenericArguments()[0].
GetType().GetProperty(sortBy);
if (sortDirection == [Ô]ASC[Ô])
{
return list.OrderBy(e => property.GetValue(e, null));
}
if (sortDirection == [Ô]DESC[Ô])
{
return list.OrderByDescending(e => property.GetValue(e, null));
}
else
{
throw new ArgumentOutOfRangeException();
}
}
Faça assim para ver se vai:
ListaDBs = (From p In ListaDBs Order By p.Titulo Ascending Select p).ToList
ListaDBs = (From p In ListaDBs Order By p.Titulo Ascending Select p).ToList
Tópico encerrado , respostas não são mais permitidas