public void SerializeTo(string key, IClientSideObjectWriter writer) { if (Enabled) { writer.Append("sortMode", SortMode == GridSortMode.MultipleColumn ? "multi" : "single"); if (grid.DataProcessor.SortDescriptors.Any()) { writer.Append("orderBy", GridDescriptorSerializer.Serialize(grid.DataProcessor.SortDescriptors)); } } }
public string GetSortUrl() { IList <SortDescriptor> orderBy = new List <SortDescriptor>(Grid.DataProcessor.SortDescriptors); SortDescriptor descriptor = orderBy.SingleOrDefault(c => c.Member.IsCaseInsensitiveEqual(Member)); ListSortDirection?oldDirection = null; if (descriptor != null) { oldDirection = descriptor.SortDirection; ListSortDirection?newDirection = oldDirection.Next(); if (newDirection == null) { orderBy.Remove(descriptor); } else { if (Grid.Sorting.SortMode == GridSortMode.SingleColumn) { orderBy.Clear(); orderBy.Add(new SortDescriptor { SortDirection = newDirection.Value, Member = descriptor.Member }); } else { orderBy[orderBy.IndexOf(descriptor)] = new SortDescriptor { SortDirection = newDirection.Value, Member = descriptor.Member }; } } } else { if (Grid.Sorting.SortMode == GridSortMode.SingleColumn) { orderBy.Clear(); } orderBy.Add(new SortDescriptor { Member = Member, SortDirection = ListSortDirection.Ascending }); } return(Grid.UrlBuilder.SelectUrl(GridUrlParameters.OrderBy, GridDescriptorSerializer.Serialize(orderBy))); }
public string SerializeExpression() { return(GridDescriptorSerializer.Serialize(grid.DataProcessor.GroupDescriptors)); }