Click here to Skip to main content
Click here to Skip to main content

Tagged as

Go to top

Enum To Datatable

, 28 Jan 2014
Rate this:
Please Sign up or sign in to vote.
I often asked by developers in my team to write a code that can convert the enums to a collection structure which will be useable as a data source to any ASP.NET and/or HTML control and would be exposeable by Web Services. However Enums can also be

A comprehensive utility to play with Enum

I often asked by developers in my team to write a code that can convert the enums to a collection structure which will be useable as a data source to any ASP.NET and/or HTML control and would be exposeable by Web Services. However Enums can also be used as a data source to any server side container controls, problem is to use them in HTML controls with jSon format.

We have some utilities that can convert the numerous data structures to jSon format and DataTable is one of them. To utilize such structure in Restful Services, I decided to write a code that converts any Enum Type to DataTable. It is a little but comprehensive utility which makes the developer's life easy. Hope you like it.

Enum to DataTable Convertor Function

public DataTableEnumToDataTable(Type enumType)
        {
            DataTable table = newDataTable();
   
            //Column that contains the Captions/Keys of Enum        
            table.Columns.Add("Desc", typeof(string));
            //Get the type of ENUM for DataColumn
            table.Columns.Add("Id", Enum.GetUnderlyingType(enumType));
            //Add the items from the enum:
            foreach (string name in Enum.GetNames(enumType))
            {
                //Replace underscores with space from caption/key and add item to collection:
                table.Rows.Add(name.Replace('_', ' '), Enum.Parse(enumType, name));
            }
  
            return table;
        }

Method Calling

DataTable dT = EnumToDataTable(typeof(ENUM_CURRENCY));

Conclusion 

I love to write such tiny utilities which enable my team to smoothly fulfill the task in a timely manner. I always enjoy to write such utilities because these make my work enjoyable to me.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Kashif Akhter
Team Leader
Pakistan Pakistan
A computer software development professional with a proven track record of extensive experience of enterprise software development and building the manageable, scalable, and robust enterprise software architectures.
Follow on   Twitter   Google+   LinkedIn

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web04 | 2.8.140905.1 | Last Updated 28 Jan 2014
Article Copyright 2014 by Kashif Akhter
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid