Create dynamic properties and bind hashtable in c#
<p>I am trying to bind Row to gridview which will not only contain fields of Category table but other tables as well. So I had properties set for all those fields. But since the columns in the table could change frequently I need to dynamically change the properties as well. I found the following one way to do it (using hashtable). But I can't bind the hashtable values to gridview.</p>

<p>How to solve this problem better? </p>

<pre><code>public partial class Form1 : Form
{
    public class Row
    {
        // properties
        public Hashtable Properties = new Hashtable();


    }
    public Form1()
    {
        InitializeComponent();
        DataClasses1DataContext context = new DataClasses1DataContext();
        var st = from c in context.Categories
                 select c;
        var p = from pr in context.Products
                 select p;

        Row r = new Row();
        //List&lt;Row&gt; listrow = new List&lt;Row&gt;();
        foreach (var item in st)
        {
            r.Properties.Add(item.Description, item.Description);
        }

        this.gridControl1.DataSource = r.Properties.Values;
    }
}
</code></pre>
