Ejemplo n.º 1
0
        private string ResetSortToColumn(string sSortField)
        {
            if (SortField.Length < 1)
            {
                SortField = sSortField;
                SortDir   = string.Empty;
            }
            else
            {
                if (SortField.ToLowerInvariant() != sSortField.ToLowerInvariant())
                {
                    SortDir = string.Empty;                      //previous sort not the same field, force ASC
                }
                SortField = sSortField;
            }

            if (SortDir.Trim().ToUpperInvariant().IndexOf("ASC") < 0)
            {
                SortDir = "ASC";
            }
            else
            {
                SortDir = "DESC";
            }
            sSortField = SortField + "   " + SortDir;
            return(sSortField);
        }
Ejemplo n.º 2
0
        public IList SortDataListType(IList lst)
        {
            IList                query        = null;
            List <object>        d            = lst.Cast <object>().ToList();
            IEnumerable <object> enuQueryable = d.AsQueryable();

            if (lst != null && lst.Count > 0)
            {
                SortField = GetProperties(d[0]).Where(x => x.ToLowerInvariant() == SortField.ToLowerInvariant()).FirstOrDefault();
            }
            else
            {
                SortField = string.Empty;
            }

            if (!string.IsNullOrEmpty(SortField))
            {
                if (SortDir.ToUpperInvariant().Trim().IndexOf("ASC") < 0)
                {
                    query = (from enu in enuQueryable
                             orderby GetPropertyValue(enu, SortField) descending
                             select enu).ToList();
                }
                else
                {
                    query = (from enu in enuQueryable
                             orderby GetPropertyValue(enu, SortField) ascending
                             select enu).ToList();
                }
            }
            else
            {
                query = (from enu in enuQueryable
                         select enu).ToList();
            }

            return(query);
        }