This code illustrate how to add a new Column in GridView on GridView1_RowCreated and add column value in GridView1_RowDataBound
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; public partial class dhilip : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //instance of a datatable DataTable dt = new DataTable(); //instance of a datarow DataRow drow; //creating two datacolums Column1 and Column2 DataColumn dcol1 = new DataColumn("Column1", typeof(string)); DataColumn dcol2 = new DataColumn("Column2", typeof(string)); //adding datacolumn to datatable dt.Columns.Add(dcol1); dt.Columns.Add(dcol2); //loop for 10 rows for (int i = 0; i < 10; i++) { //instance of a datarow drow = dt.NewRow(); //add rows to datatable dt.Rows.Add(drow); //add Column values dt.Rows[i][dcol1] = i.ToString(); dt.Rows[i][dcol2] = i.ToString(); } //set gridView Datasource as dataTable dt. GridView1.DataSource = dt; //Bind Datasource to gridview GridView1.DataBind(); } protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { //create a instance of table cell // this table cell is going to add gridview as new column TableCell tc = new TableCell(); //first cell must be -1 ie the header of gridview. if it header if (e.Row.RowIndex == -1) { //add header column name. you can add more styles in this section tc.Text = "Multiple"; //add style for header column tc.Style.Add(HtmlTextWriterStyle.FontWeight, "bold"); } //cell add to gridview row e.Row.Cells.Add(tc); } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //if header column we dont need multiplication if (e.Row.RowIndex != -1) { //taking values from first cell. my first cell contain value, you can change string id = e.Row.Cells[0].Text; //taking values from second cell. my second cell contain value, you can change string id2 = e.Row.Cells[1].Text; //multiplication double mult = int.Parse(id) * int.Parse(id2); //adding result to last column. coz we add new column in last. e.Row.Cells[e.Row.Cells.Count - 1].Text = mult.ToString(); } } }