protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var firstCell = e.Row.Cells[4];
firstCell.Controls.Clear();
Button btn_chk = new Button();
btn_chk.Text = firstCell.Text;
btn_chk.CommandName = "btn_chk";
firstCell.Controls.Add(btn_chk);
}
}
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
}
I am able to add a button in RowDataBound event but not in RowCreated event.
Actual Problem:Data is binded to grid only first time of page load.
When the button is added on RowDataBound then on click of that button, the control doesn't render on consequent postbacks
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<string> years = new List<string>();
for (int i = 0; i > -6; i--)
{
years.Add(DateTime.Now.AddYears(i).ToString("yyyy"));
}
drpYear.DataSource = years;
drpYear.DataBind();
DataSet dt = GetExistingRecords();
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
So tell me a way to add controls to a grid in code behind(i don't want to use Template fields)
Which will be rendered even on the second postback();