Ejemplo n.º 1
0
        public void SetFormattedMember(string uniqueName, string name, string format)
        {
            // get hierarchy and member
            Hierarchy hier = _report.Schema.GetHierarchyFromMemberUniqueName(uniqueName);

//			// debug
//			if(hier.UniqueName=="[Measures]")
//			{
//				TestFormatMeasure(uniqueName, name, format);
//				return;
//			}

            if (hier == null)
            {
                throw new Exception("Unable to resolve hierarchy from " + uniqueName);
            }
            DataMember mem = hier.GetMember(uniqueName);

            if (mem == null)
            {
                throw new Exception("Cannot find member: " + uniqueName);
            }
            if (mem is Set)
            {
                throw new ArgumentException("Cannot format set: + uniqueName");
            }

            // resolve formatEnum
            CalculatedMember.FormatEnum formatEnum = (CalculatedMember.FormatEnum)Enum.Parse(typeof(CalculatedMember.FormatEnum), format, true);

            // format
            CalculatedMember cmem = mem as CalculatedMember;

            if (cmem != null)          // if calculated member, simply set different name and format
            {
                if (cmem.Name == name && formatEnum == cmem.Format)
                {
                    return;                      // if not changed
                }
                CalculatedMember newMem = cmem.Clone(name);
                newMem.Format = formatEnum;
                cmem.Hierarchy.ReplaceMember(cmem, newMem);
            }
            else             // if data member, create new wrapper
            {
                if (mem.Name == name && formatEnum == CalculatedMember.FormatEnum.Default)
                {
                    return;                      // if not changed
                }
                CalculatedMember newMem = new BusinessObjects.Olap.CalculatedMemberTemplates.MemberWrapper(name, hier, mem);
                newMem.Format = formatEnum;
                newMem.Hierarchy.ReplaceMember(mem, newMem);
            }
        }
Ejemplo n.º 2
0
        public void SetFormattedMember(string uniqueName , string name , string format)
        {
            // get hierarchy and member
            Hierarchy hier=_report.Schema.GetHierarchyFromMemberUniqueName(uniqueName);

            //			// debug
            //			if(hier.UniqueName=="[Measures]")
            //			{
            //				TestFormatMeasure(uniqueName, name, format);
            //				return;
            //			}

            if(hier==null)
                throw new Exception("Unable to resolve hierarchy from " + uniqueName);
            DataMember mem=hier.GetMember(uniqueName);
            if(mem==null)
                throw new Exception("Cannot find member: " + uniqueName);
            if(mem is Set)
                throw new ArgumentException("Cannot format set: + uniqueName");

            // resolve formatEnum
            CalculatedMember.FormatEnum formatEnum=(CalculatedMember.FormatEnum)Enum.Parse(typeof(CalculatedMember.FormatEnum) , format, true);

            // format
            CalculatedMember cmem=mem as CalculatedMember;
            if(cmem!=null) // if calculated member, simply set different name and format
            {
                if(cmem.Name==name && formatEnum==cmem.Format)
                    return;  // if not changed

                CalculatedMember newMem=cmem.Clone(name);
                newMem.Format=formatEnum;
                cmem.Hierarchy.ReplaceMember(cmem, newMem);
            }
            else // if data member, create new wrapper
            {
                if(mem.Name==name && formatEnum==CalculatedMember.FormatEnum.Default)
                    return;  // if not changed

                CalculatedMember newMem=new BusinessObjects.Olap.CalculatedMemberTemplates.MemberWrapper(name, hier, mem);
                newMem.Format=formatEnum;
                newMem.Hierarchy.ReplaceMember(mem, newMem);
            }
        }