I am trying to use the insert button to insert a record into my datatable, i have the following code that i tried, but when i click on the insert button nothing happens, it just seems to refresh the page, can someone please help me out:
ususing System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik.Web.UI;using System.ComponentModel;public partial class Default5 : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (Session["GridData"] == null) { DataTable table = GetTable(); Session.Add("GridData", table); } DefineGridStructure(); } private void DefineGridStructure() { RadGrid grid = new RadGrid(); grid.ID = "RadGrid1"; grid.NeedDataSource += new GridNeedDataSourceEventHandler(grid_NeedDataSource); grid.AutoGenerateEditColumn = true; grid.AutoGenerateDeleteColumn = true; grid.AllowAutomaticInserts = true; grid.Width = Unit.Percentage(100); grid.PageSize = 15; grid.AllowPaging = true; grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; grid.AutoGenerateColumns = false; grid.MasterTableView.Width = Unit.Percentage(100); grid.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.TopAndBottom; grid.ItemInserted += grid_ItemInserted; grid.MasterTableView.DataKeyNames = new string[] { "RowNumber" }; GridBoundColumn boundColumn = new GridBoundColumn(); boundColumn.DataField = "RowNumber"; boundColumn.HeaderText = "RowNumber"; boundColumn.ReadOnly = true; grid.MasterTableView.Columns.Add(boundColumn); boundColumn = new GridBoundColumn(); boundColumn.DataField = "Size"; boundColumn.HeaderText = "Size"; grid.MasterTableView.Columns.Add(boundColumn); boundColumn = new GridBoundColumn(); boundColumn.DataField = "Description"; boundColumn.HeaderText = "Description"; grid.MasterTableView.Columns.Add(boundColumn); boundColumn = new GridBoundColumn(); boundColumn.DataField = "Quantity"; boundColumn.HeaderText = "Quantity"; grid.MasterTableView.Columns.Add(boundColumn); boundColumn = new GridBoundColumn(); boundColumn.DataField = "Duration"; boundColumn.HeaderText = "Duration"; grid.MasterTableView.Columns.Add(boundColumn); boundColumn = new GridBoundColumn(); boundColumn.DataField = "DurationType"; boundColumn.HeaderText = "DurationType"; grid.MasterTableView.Columns.Add(boundColumn); boundColumn = new GridBoundColumn(); boundColumn.DataField = "Amount"; boundColumn.HeaderText = "Amount"; grid.MasterTableView.Columns.Add(boundColumn); PlaceHolder1.Controls.Add(grid); } private void grid_ItemInserted(object sender, GridInsertedEventArgs e) { RadGrid grid = (RadGrid)sender; int rowIndex = 0; if (Session["GridData"] != null) { DataTable dtCurrentTable = (DataTable)Session["GridData"]; DataRow drCurrentRow = null; if (dtCurrentTable.Rows.Count > 0) { for (int i = 0; i < dtCurrentTable.Rows.Count; i++) { GridEditFormInsertItem item = e.Item as GridEditFormInsertItem; TextBox box1 = item.FindControl("Size") as TextBox; TextBox box2 = item.FindControl("Description") as TextBox; TextBox box3 = item.FindControl("Quantity") as TextBox; TextBox box4 = item.FindControl("Unit") as TextBox; TextBox box5 = item.FindControl("Duration") as TextBox; TextBox box6 = item.FindControl("DurationType") as TextBox; TextBox box7 = item.FindControl("Amount") as TextBox; drCurrentRow = dtCurrentTable.NewRow(); drCurrentRow["RowNumber"] = i + 1; dtCurrentTable.Rows[i - 1]["Size"] = box1.Text; dtCurrentTable.Rows[i - 1]["Description"] = box2.Text; dtCurrentTable.Rows[i - 1]["Quantity"] = box3.Text; dtCurrentTable.Rows[i - 1]["Unit"] = box4.Text; dtCurrentTable.Rows[i - 1]["Duration"] = box5.Text; dtCurrentTable.Rows[i - 1]["DurationType"] = box6.Text; dtCurrentTable.Rows[i - 1]["Amount"] = box7.Text; rowIndex++; } dtCurrentTable.Rows.Add(drCurrentRow); Session["GridData"] = dtCurrentTable; grid.DataSource = Session["GridData"]; grid.Rebind(); } } } void grid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { DataTable current = (DataTable)Session["GridData"]; RadGrid grid = (RadGrid)sender; grid.DataSource = current; } static DataTable GetTable() { // // Here we create a DataTable with a few columns. // // Create Datatable to store all colums DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add(new DataColumn("RowNumber", typeof(string))); dt.Columns.Add(new DataColumn("Size", typeof(string))); dt.Columns.Add(new DataColumn("Description", typeof(string))); dt.Columns.Add(new DataColumn("Quantity", typeof(string))); dt.Columns.Add(new DataColumn("Unit", typeof(string))); dt.Columns.Add(new DataColumn("Duration", typeof(string))); dt.Columns.Add(new DataColumn("DurationType", typeof(string))); dt.Columns.Add(new DataColumn("Amount", typeof(string))); dr = dt.NewRow(); dr["RowNumber"] = 1; dr["Size"] = string.Empty; dr["Description"] = string.Empty; dr["Quantity"] = string.Empty; dr["Unit"] = string.Empty; dr["Duration"] = string.Empty; dr["DurationType"] = string.Empty; dr["Amount"] = string.Empty; dt.Rows.Add(dr); return dt; }}