protected void Page_Load(object sender, EventArgs e) { loadDynamicGrid(); }private void loadDynamicGrid() { #region Code for filling datatable //instance of datatable DataTable dt = new DataTable(); //instance of datacolumn DataColumn dc = new DataColumn("ID",typeof(System.Int32)); dc.AutoIncrement = true; dt.Columns.Add(dc); dc = new DataColumn("NAME", typeof(System.String)); dt.Columns.Add(dc); for (int i = 0; i < 5; i++) { //creating instance for datarow DataRow dr = dt.NewRow (); dr["NAME"] = "Dharma"; dr["ID"] = i; dt.Rows.Add(dr); } #endregion //loop through columns create boundfield dynamically foreach (DataColumn col in dt.Columns) { BoundField bfield = new BoundField(); bfield.DataField = dc.ColumnName; bfield.HeaderText = dc.ColumnName; dngrview.Columns.Add(bfield); } dngrview.DataSource = dt; dngrview.DataBind(); }