Click here to Skip to main content
15,881,172 members
Articles / Programming Languages / C#
Tip/Trick

Convert Hashtable Rows into DataTable Columns in C#

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
7 Feb 2013CPOL 35.1K   3   3
Function to Convert Hashtable Rows into DataTable Columns in C#.Net

Introduction 

Function to Convert Hashtable Rows into DataTable Columns in C#

Background 

Hashtable, DataSet, DataRow,DictionaryEntry etc.

Using the Code 

Simplest way to convert a Hashtable into a DataTable with all the Hashtable rows converted into DataTable columns. This code creates one row in DataTable, you can modify it according to your requirement.

This Function returns a DataTable object and takes a Hashtable object as parameter. Simple implementation example: 

C++
htData <Hashtable with Data>
	DataTable dt =new  DataTable();
	dt=  ConvertHashtableRowsToDataTableColumns(htData);

 The classes used are:  

DataTableDictionaryEntryDataRowobject, var and Hashtable.
the methods and properties, used are: 

  1. dataTable.Columns.Add(entry.Key.ToString(), typeof(object));
  2. entry.Value.ToString()
  3. dataTable.Rows.Add(dr)
  4. dataTable.NewRow()
  5. ht.GetType().Name

and dataTable.TableName, used to specify the table name. 

C++
private DataTable ConvertHashtableRowsToDataTableColumns(System.Collections.Hashtable ht)
        {
            //create an instance of DataTable
            var dataTable = new DataTable(ht.GetType().Name);
            //specify the table name		
            dataTable.TableName = "TableName";
            //fill the columns in the DataTable
            foreach (DictionaryEntry entry in ht)
            {
                dataTable.Columns.Add(entry.Key.ToString(), typeof(object));
            }
            //create a new DataRow in the DataTable	
            DataRow dr = dataTable.NewRow();
            //fill the new row in the DataTable
            foreach (DictionaryEntry entry in ht)
            {
                dr[entry.Key.ToString()] = entry.Value.ToString();
            }
            //add the filled up row to the DataTable
            dataTable.Rows.Add(dr);
            //return the DataTable
            return dataTable;
        }

Hope this helps in time of need...  

Happy Coding Smile | <img src= 

License

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


Written By
Software Developer
United States United States
Software Programmer

Comments and Discussions

 
QuestionConvert Hashtable into DataTable Rows in C# Pin
Jome Mathew29-Feb-16 11:57
Jome Mathew29-Feb-16 11:57 
SuggestionI did it a little different Pin
Airton J.21-Aug-13 6:56
Airton J.21-Aug-13 6:56 
GeneralRe: I did it a little different Pin
Jome Mathew29-Feb-16 12:03
Jome Mathew29-Feb-16 12:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.