GridView isn't binding to datatable
<p>If I have the gridview autogenerate columns, then the table adds the correct columns, but I added drop down headers to the table and don't want the columns to be autogenerated. When I add the rows to the datatable and bind it to the gridview, nothing shows up.</p>

<p>This is my gridview code:</p>

<pre><code>    &lt;asp:GridView ID="GridView3" runat="server" CellPadding="3"
        ForeColor="#333333" GridLines="None"
        AllowSorting="True" SortedAscendingHeaderStyle-CssClass="sortasc-header" 
        SortedDescendingHeaderStyle-CssClass="sortdesc-header"
        AllowPaging="True" PageSize="17" PagerSettings-Mode="NextPreviousFirstLast" 
        ShowHeaderWhenEmpty="True" PagerStyle-Font-Names="WebDings" PagerStyle-Font-     Size="Medium"
        PagerSettings-FirstPageText=" 7 " PagerSettings-PreviousPageText=" 3 " 
        PagerSettings-NextPageText=" 4 " PagerSettings-LastPageText=" 8 " 
          Font-Size="Small" onpageindexchanging="GridView3_PageIndexChanging" 
          onsorting="GridView3_Sorting" AutoGenerateColumns="False"&gt;

        &lt;AlternatingRowStyle BackColor="White" ForeColor="#333333" /&gt;
         &lt;Columns&gt;
             &lt;asp:BoundField HeaderText="Date" /&gt;

             &lt;asp:BoundField HeaderText="Time" /&gt;

            &lt;asp:TemplateField HeaderText="Type"&gt;
                &lt;HeaderTemplate&gt;
                    &lt;asp:DropDownList ID="TypeList" runat="server" Height="21px" Width="134px" 
                    DataSourceId="dsWarningType"
                    DataTextValue="Name" DataValueField="Name"&gt;
                    &lt;/asp:DropDownList&gt;
                 &lt;/HeaderTemplate&gt;
             &lt;/asp:TemplateField&gt;

                  &lt;asp:TemplateField HeaderText="Process"&gt;
             &lt;HeaderTemplate&gt;
                  &lt;asp:DropDownList ID="Process" runat="server" Height="21px" Width="134px" 
                   &gt;
                  &lt;/asp:DropDownList&gt;
             &lt;/HeaderTemplate&gt;
             &lt;/asp:TemplateField&gt;

                   &lt;asp:TemplateField HeaderText="Index"&gt;
             &lt;HeaderTemplate&gt;
                  &lt;asp:DropDownList ID="Index" runat="server" Height="21px" Width="134px" 
                   &gt;
                  &lt;/asp:DropDownList&gt;
             &lt;/HeaderTemplate&gt;
             &lt;/asp:TemplateField&gt;

             &lt;asp:BoundField HeaderText="Body" /&gt;

         &lt;/Columns&gt;
        &lt;EditRowStyle BackColor="#999999" /&gt;
        &lt;FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /&gt;
        &lt;HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /&gt;                &lt;PagerSettings FirstPageText=" 7 " LastPageText=" 8 " Mode="NextPreviousFirstLast" NextPageText=" 4 " PreviousPageText=" 3 "&gt;&lt;/PagerSettings&gt;
        &lt;PagerStyle BackColor="#5D7B9D" ForeColor="White" HorizontalAlign="Center" /&gt;
        &lt;RowStyle BackColor="#DCE2E8" ForeColor="#333333" /&gt;
        &lt;SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /&gt;
&lt;SortedAscendingHeaderStyle CssClass="sortasc-header"&gt;&lt;/SortedAscendingHeaderStyle&gt;

&lt;SortedDescendingHeaderStyle CssClass="sortdesc-header"&gt;&lt;/SortedDescendingHeaderStyle&gt;
      &lt;/asp:GridView&gt; 
</code></pre>

<p>I declare the datatable and the appropriate columns. After I fill in the DataTable manually, I am simply bind it:</p>

<pre><code>dt = new DataTable();

dt.Columns.Add("Date");
dt.Columns.Add("Time");
dt.Columns.Add("Type");
dt.Columns.Add("Process");
dt.Columns.Add("Index");
dt.Columns.Add("Body");
//Manually fill in data....
...

GridView3.DataSource = dt;
GridView3.DataBind();
</code></pre>
