Hi Debug,
I have created a sample which full fill your requirement
HTML
<div>
<table>
<tr>
<td>
CustomerId:
</td>
<td>
<asp:TextBox ID="txtCustomerId" runat="server" />
</td>
</tr>
<tr>
<td>
Name:
</td>
<td>
<asp:TextBox ID="txtName" runat="server" />
</td>
</tr>
<tr>
<td>
Country:
</td>
<td>
<asp:TextBox ID="txtCountry" runat="server" />
</td>
</tr>
<tr>
<td>
</td>
<td align="center">
<asp:Button ID="btnSave" OnClick="Save" Text="Save" runat="server" />
</td>
</tr>
</table>
<br />
<asp:GridView ID="gvDetails" runat="server" />
</div>
C#
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
dt.Columns.AddRange(new DataColumn[] { new DataColumn("CustomerId"), new DataColumn("Name"), new DataColumn("Country") });
if (!IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
dt.Rows.Add(2, "Mudassar Khan", "India");
dt.Rows.Add(3, "Suzanne Mathews", "France");
dt.Rows.Add(5, "Robert Schidner", "Russia");
gvDetails.DataSource = dt;
gvDetails.DataBind();
}
protected void Save(object sender, EventArgs e)
{
dt.Rows.Add(txtCustomerId.Text.Trim(), txtName.Text.Trim(), txtCountry.Text.Trim());
dt.DefaultView.Sort = "CustomerId";
BindGrid();
}
Screenshot
