/// <summary> /// Returns the hierarchy "neighboring" of the current cell, different from it by the /// value of the members passed as the parameter. /// </summary> /// <remarks> /// <para> /// For example, we have a Cube cell specified by the coordinates "Year-2003" and /// "Product-Beverages". /// </para> /// <para> /// This method along with the "Product-Seafood" parameter will return the cell /// with the address of the coordinates "Year-2003" and "Product-Seafood". The method /// along with the "Customer-Ben Carlos" parameter will return the cell with the /// address of the coordinates "Year-2003", "Product-Beverages" and "Customer-Ben /// Carlos". Overloads: public ICubeAddress Sibling( IList Members ); /// </para> /// </remarks> public ICubeAddress Sibling(IList <Member> Members) { var Result = fAddress.Clone(); for (var i = 0; i < Members.Count; i++) { Result.AddMember(Members[i]); } if (Result.Measure != null) { Result.MeasureMode = Result.Measure.ShowModes[0]; } return(Result); }
internal IEnumerable <Member> GetMembersList(ICubeAddress a, Members MembersList) { if (a.Measure == null || !CalculatedByServer(a.Measure) || MembersList[0].MemberType == MemberType.mtMeasure || MembersList[0].MemberType == MemberType.mtMeasureMode) { return(MembersList.ToArray()); } if (a.GetMemberByHierarchy(MembersList[0].Level.Hierarchy) != null) { return(MembersList.ToArray()); } var aa = a.Clone(); aa.AddMember(MembersList[0]); var M = GetMetaline(aa.FLevelsAndMembers.Keys); var L = M.GetLine(aa.FHierID, aa.Measure, aa.Measure.ShowModes[0]); return(L.GetMembersList(aa, MembersList)); }
internal bool HasCellValue(ICubeAddress address) { object V; if (address.Measure != null) { return(GetCellValue(address, out V)); } var a = address.Clone(); if (FGrid.FCellSet.FVisibleMeasures.Count == 0) { return(true); } foreach (var m in FGrid.FCellSet.FVisibleMeasures) { a.Measure = m; if (GetCellValue(a, out V)) { return(true); } } return(false); }
internal AllowDisplayMemberArgs(ICubeAddress address, Member member, bool isTotal) { Address = address.Clone(); Member = member; IsTotal = isTotal; }