Skip to main content

Notifications

Finance | Project Operations, Human Resources, ...
Answered

Getting Enum value for display method x++

Posted on by 65

I wrote a display method for an extension table. ServiceSubStatus is an enum field so 0,1,2 are displaying but I need to display the value of the enum.

Can you please help me with this?

   [ExtensionOf(tableStr(EntAssetObjectTable))]
public final class ObjectTable_Extension
{
    public display ServiceSubStatus ServiceSubStatus()
    {    


        return (ServiceStatus::findByRecId(this.ServiceStatus).ServiceSubStatus);

    
    }

}

  • YCeren Profile Picture
    YCeren 65 on at
    RE: Getting Enum value for display method x++

     public display str ServiceSubStatus()
        {
    
            SysDictEnum dictEnum = new SysDictEnum(enumNum(ServiceSubStatusEnum));
    
            ServiceStatus serviceStatus = ServiceStatus::findByRecId(this.ServiceStatus);
            if(serviceStatus)
            {
                return dictEnum.value2Label(serviceStatus.ServiceSubStatus);
            }
           

    I coded this way and it worked but thank you so much for your answer

  • Verified answer
    atajjo Profile Picture
    atajjo 509 on at
    RE: Getting Enum value for display method x++

    [ExtensionOf(tableStr(EntAssetObjectTable))]
    public final class ObjectTable_Extension
    {
        public display str ServiceSubStatus()
        {    
    
    
            return (enum2str(ServiceStatus::findByRecId(this.ServiceStatus).ServiceSubStatus));
    
        
        }
    
    }

    Try the code above (I used enum2str and changed return type to string)

  • YCeren Profile Picture
    YCeren 65 on at
    RE: Getting Enum value for display method x++

    ServiceSubStatus exists as Base Enum (I have created it) and labels are fine, I am not sure why I get this result

  • Martin Dráb Profile Picture
    Martin Dráb 230,149 Most Valuable Professional on at
    RE: Getting Enum value for display method x++

    What you're describing isn't the expected behavior. What you should see is enum's label, not numeric values.

    Could you please look at ServiceSubStatus enum (it doesn't exist in my F&O application) and check the Label property of enum elements? A possible explaination is that somebody set the numbers as labels.

  • Suggested answer
    TracyXing Profile Picture
    TracyXing on at
    RE: Getting Enum value for display method x++

    You can use enum2Str function to get the string value of Enum, refer to:

    enum2Str Function | Microsoft Docs

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Community AMA December 12th

Join us as we continue to demystify the Dynamics 365 Contact Center

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,240 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,149 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Product updates

Dynamics 365 release plans