Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Convert Hashtable Rows into DataTable Columns in C#

0.00/5 (No votes)
7 Feb 2013 2  
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: 

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. 

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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here