once go through this code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
GridView GrdDynamic=new GridView ();
protected void Page_Load(object sender, EventArgs e)
{
loadDynamicGrid();
panelname.Controls.Add(GrdDynamic);
}
private void loadDynamicGrid()
{
#region Code for preparing the DataTable
DataTable dt = new DataTable();
DataColumn dcol = new DataColumn(ID ,typeof(System.Int32));
dcol.AutoIncrement = true;
dt.Columns.Add(dcol);
dcol = new DataColumn("NAME", typeof(System.String));
dt.Columns.Add(dcol);
for (int nIndex = 0; nIndex < 10; nIndex++)
{
DataRow drow = dt.NewRow();
drow["NAME"] = "Row-" + Convert.ToString((nIndex + 1));
dt.Rows.Add(drow);
}
#endregion
foreach (DataColumn col in dt.Columns)
{
BoundField bfield = new BoundField();
bfield.DataField = col.ColumnName;
bfield.HeaderText = col.ColumnName;
GrdDynamic.Columns.Add(bfield);
}
GrdDynamic.DataSource = dt;
GrdDynamic.DataBind();
}
}
}
write this in aspx page
<body>
<form id="form1" runat="server">
<div id="testgrid" runat="server">
<asp:panel runat="server" id="pnael34" xmlns:asp="#unknown">
</asp:panel>
</div>
</form>
</body>
</body>