Chat - Aggiungere una riga a datagrid dinamicamente - Aggiungere una riga a datagrid dinamicamente


Talvolta è necessario aggiungere da codice una riga ad un datagridview. In ASP.NET non è semplice come sembra, non esiste il metodo:

quindi si può procedere nel modo seguente:
nel metodo RowDataBound si inerisce una nuova riga in fondo al Datagrid utilizzando la classe table

protected void gvOrderDetail_RowDataBound(object sender, GridViewRowEventArgs e)
    //TODO: Calculate the orderTotal and the tax when RowType = DataRow
    if (e.Row.RowType == DataControlRowType.Footer)
        //Create the Row
        GridViewRow row = new GridViewRow(-1, -1, DataControlRowType.DataRow, DataControlRowState.Normal);
        //Add the two Columns
        //get a reference to the table that holds this row
        Table tbl = (e.Row.Parent as Table);
        //Add the row at the end of the list, but before the footer.
        tbl.Rows.AddAt(gvOrderDetail.Rows.Count + 1, row);

        //Don't forget to account for any changes in the footer. Since we added a row to show the tax,
        //that tax must also be accounted for in our footer. Calculating the orderTotal and the tax
        //is an exercise for the reader.
        Label lbl;
        lbl = (Label)e.Row.FindControl("lblTotal");
        lbl.Text = String.Format("{0:C}", (orderTotal + tax));

private TableCell[] CreateCells()

    TableCell[] cells = new TableCell[2];
    TableCell cell;
    Label lbl;

    //The order item column
    cell = new TableCell();
    lbl = new Label();
    lbl.Text = "Sales Tax";
    cells[0] = cell;

    //The price column
    cell = new TableCell();
    lbl = new Label();
    lbl.Font.Bold = true;
    lbl.Text = tax.ToString("C");
    cell.HorizontalAlign = HorizontalAlign.Right;
    cells[1] = cell;

    return cells;

© 2019 - Andrea Facchin
| Giovedì, 18. Luglio 2019 || Designed by: |