Search This Blog

Tuesday 11 September 2012

Ordenar um GENERIC LIST de modo dinâmico usando Reflection

Olá , Pessoal
Estou um pouco ocupado trabalhando com EXTJS com ASP MVC 3 e está um pouco difícil , mas , me sobrou um tempinho para mandar uma dica que achei super útil. Ordenar um GENERIC LIST de modo dinâmico.
 
        /// <summary>
        /// Método para ordernar itens da lista dinamico
        /// </summary>
        /// <param name="_property"> Propriedade da lista </param>
        /// <param name="_direction"> Direção </param>
        /// <param name="_list"> Lista que gostaria de ordenar</param>
        /// <returns>Lista Ordenada</returns>
        public List<Entidade.Pedido> DoOrder (
                                               string _property , 
                                               string _direction , 
                                               List<Entidade.Pedido> _list
                                              )
        {                            

            if (_direction == "ASC")
            {
                _list = _list.OrderBy(plist => typeof(Entidade.Pedido).GetProperty(_property).GetValue(plist, null)).ToList();
            }
            if (_direction == "DESC")
            {
                _list = _list.OrderByDescending(plist => typeof(Entidade.Pedido).GetProperty(_property).GetValue(plist, null)).ToList();
            }

            return _list;
        }
Espero que tenham gostado e vou trazer coisas novas.

No comments:

Post a Comment

Translate