//internal static string GetSortExpr(PerformMemberActionArgs args) //{ // List<string> sortExpr = new List<string>(); // string lasthier = args.Member.HierarchyUniqueName; // for (int i = 0; i < args.Ascendants.Count; i++) // { // var member = args.Ascendants[i]; // if (lasthier != member.HierarchyUniqueName) // { // lasthier = member.HierarchyUniqueName; // sortExpr.Insert(0, member.UniqueName); // } // } // sortExpr.Add(args.Member.UniqueName); // return "("+string.Join(",",sortExpr.ToArray())+")"; //} internal void SortByValue(PerformMemberActionArgs args) { var tuple = args.Member.GetAxisTuple(); var measuresSort = MeasuresSort as SortByValueDescriptor; if (measuresSort == null) { measuresSort = new SortByValueDescriptor(); measuresSort.Tuple = tuple; MeasuresSort = measuresSort; } else if (!measuresSort.CompareByTuple(tuple)) { measuresSort.Tuple = tuple; measuresSort.Type = SortTypes.None; } if (MeasuresSort.Type == SortTypes.None) { MeasuresSort.Type = SortTypes.Ascending; } else if (MeasuresSort.Type == SortTypes.Ascending) { MeasuresSort.Type = SortTypes.Descending; } else if (MeasuresSort.Type == SortTypes.Descending) { MeasuresSort.Type = SortTypes.None; } }
void InitializeTuple(SortByValueDescriptor sortDescriptor) { var tuple = new List <TupleItem>(); if (sortDescriptor != null) { tuple = new List <TupleItem>(); foreach (var item in sortDescriptor.Tuple) { var tuple_item = new TupleItem() { HierarchyUniqueName = item.Key, MemberUniqueName = item.Value }; tuple.Add(tuple_item); } // Если меры в тапле нет, то добавляем ее искусственно if (!sortDescriptor.Tuple.ContainsKey("[Measures]")) { var tuple_item = new TupleItem() { HierarchyUniqueName = "[Measures]", MemberUniqueName = sortDescriptor.MeasureUniqueName, IsReadOnly = false, IsCustom = true }; tuple.Add(tuple_item); } } tupleControl.Initialize(tuple); }
void InitializeTuple(SortByValueDescriptor sortDescriptor) { var tuple = new List<TupleItem>(); if (sortDescriptor != null) { tuple = new List<TupleItem>(); foreach (var item in sortDescriptor.Tuple) { var tuple_item = new TupleItem() { HierarchyUniqueName = item.Key, MemberUniqueName = item.Value }; tuple.Add(tuple_item); } // Если меры в тапле нет, то добавляем ее искусственно if (!sortDescriptor.Tuple.ContainsKey("[Measures]")) { var tuple_item = new TupleItem() { HierarchyUniqueName = "[Measures]", MemberUniqueName = sortDescriptor.MeasureUniqueName, IsReadOnly = false, IsCustom = true }; tuple.Add(tuple_item); } } tupleControl.Initialize(tuple); }