public String GetText(MemberVisualizationTypes type)
        {
            String res = String.Empty;

            String key0 = String.Empty;

            if (type == MemberVisualizationTypes.Key ||
                type == MemberVisualizationTypes.KeyAndCaption)
            {
                PropertyData prop = GetMemberProperty(KEY0_PROPERTY);
                if (prop == null)
                {
                    // Пока что оставили для совместимости с вин-версией
                    prop = GetMemberProperty(MemberData.KEY0_PROPERTY);
                }
                if (prop != null)
                {
                    if (prop.Value != null)
                    {
                        key0 = prop.Value.ToString();
                    }
                    else
                    {
                        // в режиме отображения кодов вместо null нужно светить Caption,  а то получается когда в таблице несколько вычисляемых элементов у всех их светится null (ПФ)
                        // key0 = "null";
                    }
                }
            }

            // Определяем что именно нужно светить в контроле
            switch (type)
            {
            case MemberVisualizationTypes.Caption:
                res = Caption;
                break;

            case MemberVisualizationTypes.Key:
                // Для элементов уровня ALL вместо ключа 0 (который никак нельзя поменять) отображаем Caption
                if (LevelDepth == 0 && !String.IsNullOrEmpty(LevelName) && LevelName.ToLower().Contains(".[(all)]"))
                {
                    res = Caption;
                }
                else
                {
                    //Если ключ в запросе не получался, то выводим просто Caption
                    if (!String.IsNullOrEmpty(key0))
                    {
                        res = key0;
                    }
                    else
                    {
                        res = Caption;
                    }
                }
                break;

            case MemberVisualizationTypes.KeyAndCaption:
                // Для элементов уровня ALL вместо ключа 0 (который никак нельзя поменять) отображаем Caption
                if (LevelDepth == 0 && !String.IsNullOrEmpty(LevelName) && LevelName.ToLower().Contains(".[(all)]"))
                {
                    res = Caption;
                }
                else
                {
                    //Если ключ в запросе не получался, то выводим просто Caption
                    if (!String.IsNullOrEmpty(key0))
                    {
                        res = key0 + " " + Caption;
                    }
                    else
                    {
                        res = Caption;
                    }
                }
                break;

            case MemberVisualizationTypes.UniqueName:
                res = UniqueName;
                break;

            default:
                res = Caption;
                break;
            }
            return(res);
        }
        public String GetText(MemberVisualizationTypes type)
        {
            String res = String.Empty;

            String key0 = String.Empty;

            if (type == MemberVisualizationTypes.Key ||
                type == MemberVisualizationTypes.KeyAndCaption)
            {
                if (PropertiesDictionary.ContainsKey(KEY0_PROPERTY))
                {
                    if (PropertiesDictionary[KEY0_PROPERTY] != null)
                    {
                        key0 = PropertiesDictionary[KEY0_PROPERTY].ToString();
                    }
                    else
                    {
                        // в режиме отображения кодов вместо null нужно светить Caption,  а то получается когда в таблице несколько вычисляемых элементов у всех их светится null (ПФ)
                        // key0 = "null";
                    }
                }
            }

            // Определяем что именно нужно светить в контроле
            switch (type)
            {
            case MemberVisualizationTypes.Caption:
                res = Caption;
                // debug
                // Caption += " " + Sorted_MemberIndexInAxis.ToString();
                break;

            case MemberVisualizationTypes.Key:
                // Для элементов уровня ALL вместо ключа 0 (который никак нельзя поменять) отображаем Caption
                if (LevelDepth == 0 && !String.IsNullOrEmpty(LevelName) && LevelName.ToLower().Contains(".[(all)]"))
                {
                    res = Caption;
                }
                else
                {
                    //Если ключ в запросе не получался, то выводим просто Caption
                    if (!String.IsNullOrEmpty(key0))
                    {
                        res = key0;
                    }
                    else
                    {
                        res = Caption;
                    }
                }
                break;

            case MemberVisualizationTypes.KeyAndCaption:
                // Для элементов уровня ALL вместо ключа 0 (который никак нельзя поменять) отображаем Caption
                if (LevelDepth == 0 && !String.IsNullOrEmpty(LevelName) && LevelName.ToLower().Contains(".[(all)]"))
                {
                    res = Caption;
                }
                else
                {
                    //Если ключ в запросе не получался, то выводим просто Caption
                    if (!String.IsNullOrEmpty(key0))
                    {
                        res = key0 + " " + Caption;
                    }
                    else
                    {
                        res = Caption;
                    }
                }
                break;

            case MemberVisualizationTypes.UniqueName:
                res = UniqueName;
                break;

            default:
                res = Caption;
                break;
            }
            return(res);
        }