Этот код вставляет строку под первую строку, которую я выбираю для редактирования, но когда я редактирую вторую строку, теперь появляется новая строка, может кто-то сказать мне или показать, как это исправить. Я пытался сделать e.Row.RowInex + 1, и я не получаю строк. но если я сделаю e.Row.RowInex + 2, я получу новую строку для первого, но не второго.
protected void PageSettings_DataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowState & DataControlRowState.Edit) > 0))
{
GridViewRow row = new GridViewRow(e.Row.RowIndex + 2, -1, DataControlRowType.DataRow, DataControlRowState.Normal);
row.Cells.AddRange(CreateCells());
Table table = e.Row.Parent as Table;
table.Rows.AddAt(e.Row.RowIndex + 2, row);
}
}
private TableCell[] CreateCells()
{
TableCell[] cells = new TableCell[2];
TableCell cell;
cell = new TableCell();
cell.ColumnSpan = 2;
cells[0] = cell;
cell = new TableCell();
cell.ColumnSpan = 4;
cells[1] = cell;
return cells;
}
Решено для любого, у кого есть эта проблема
((e.Row.RowState & DataControlRowState.Edit) > 0)