I have multiple gridviews on my webpage which are dynamically created. I need to add delete button to all the gridviews. on click of the button i need to delete the row in that particular grid.
I have added delete button to the grid. on click of the button i need to get the grid id so that i can delete the row in that grid. How can this be achieved.
protected GridView generategrid(int counter)
{
//creating grid from code behind
GridView grid = new GridView();
grid.AutoGenerateColumns = false;
BoundField techname = new BoundField();
techname.HeaderText = "Tech Name";
techname.DataField = "Tech Name";
grid.Columns.Add(techname);
BoundField name = new BoundField();
name.HeaderText = "Name";
name.DataField = "Name";
grid.Columns.Add(name);
TemplateField Action = new TemplateField();
Action.HeaderText = "Action";
Action.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grid.Columns.Add(Action);
grid.RowCreated += deleteButton;
grid.ID = "gv_conditiontable" + (counter + 1);
grid.RowDeleting += new
GridViewDeleteEventHandler(OnRowDeleting);
}
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < Tablecount; i++)
{
generategrid(i);
}
}
protected void deleteButton(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button Btn = new Button();
Btn.ID = "btn_selectcols";
Btn.Text = "Delete";
Btn.CommandName = "Delete";
e.Row.Cells[2].Controls.Add(Btn);
}
}
protected void OnRowDeleting(object sender, GridViewDeleteEventArgs e)
{
int index = Convert.ToInt32(e.RowIndex);
}
How to get the gridview id to delete rows
I am generating grid for each table. When i click on delete , it should point to that particular grid and delete the row. I have worked on static gridview. but handling events in dynamic grid, i am lost.