I put data in a data table e.g.
dt.TableName = "SA1";
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
Now I'm not sure if I should use boundfield (For all columns)
<asp:BoundField DataField="Unit" HeaderText="Unit" SortExpression="Unit" />
or use
<asp:TemplateField>
<HeaderTemplate>
Units
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox runat="server" ID="txbUnits" Text='<%# Eval("Unit")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
and add the data as i go along, the gridview's purpose is only to display data
If you want to display rows without anything fancy, or any particular design, you would use BoundField. However if you would like to design the displaying of the record in a different manner than the default - you would need to create your own row template, by using the TemplateField.
Check out these links - they briefly explain the differences, but it is basically default VS customised presentation. http://forums.asp.net/t/1369418.aspx?boundfield+vs+template+field+in+gridview http://www.c-sharpcorner.com/Interviews/answer/1751/difference-between-boundfield-and-templatefield