Here i have used two GridView one with bound Field and one with TemplateField. You do not have to use OnRowDataBound Event in the GridView.
HTML
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
Company Name
<asp:TextBox ID="txtData" runat="server" />
</td>
</tr>
<tr>
<td align="center">
<asp:Button Text="Save" OnClick="Save" runat="server" />
</td>
</tr>
</table>
<br />
For BoundField
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="200"
HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White">
<Columns>
<%--set the HtmlEncode as false to show ' (Apostrophe)--%>
<asp:BoundField HeaderText="Company Name" DataField="Data" HtmlEncode="false" />
</Columns>
</asp:GridView>
<br />
For TemplateField
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" Width="200"
HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White">
<Columns>
<asp:TemplateField HeaderText="Company Name">
<ItemTemplate>
<asp:Label Text='<%# Eval("Data") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
Namespaces
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.PopulateGridView();
}
}
private void PopulateGridView()
{
string constr = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Quotes", conn))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
GridView2.DataSource = ds;
GridView2.DataBind();
}
}
}
}
protected void Save(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO Quotes VALUES(@Data)", conn))
{
cmd.Parameters.AddWithValue("@Data", this.txtData.Text);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
this.PopulateGridView();
}
}
}
SQL
CREATE TABLE [dbo].[Quotes](
[Data] [varchar](50) NULL
) ON [PRIMARY]
GO
Screenshot
