web-dev-qa-db-de.com

Zeile zur Rasteransicht hinzufügen

Ist es möglich, programmgesteuert eine Zeile zu einer GridView in C # ASP hinzuzufügen?

Wenn ja, wie?

Ich möchte statische Daten direkt aus dem Code hinzufügen, nicht aus einem Array oder einer Datenquelle

9
GmodCake
DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
dr["Column1"] = string.Empty;
dt.Rows.Add(dr);

Sie können dann Ihre GridView an die DataTable... binden.

gv.DataSource = dt;
gv.DataBind();
12
christiandev
dataGridView1.Columns[0].Name = "column1";
dataGridView1.Columns[1].Name = "column2";

string[] row1 = new string[] { "column1 value", "column2 value" };
dataGridView1.Rows.Add(row1);
2
cvetyab

GridViewRowsCollection hat keine .Add-Methode, daher können Sie es nicht direkt in der GridView ausführen. 

Es gibt Alternativen. Wenn Sie es beispielsweise an eine DataTable binden, können Sie der DataTable eine benutzerdefinierte Zeile mit Daten hinzufügen.

Eine andere Alternative - tun Sie dies auf dem Client, indem Sie der gerenderten HTML-Tabelle eine Zeile hinzufügen.

1
Yuriy Galanter

Zeilen können in GridView_RowCreated, Like eingefügt werden

protected void gvItems_RowCreated(object sender, GridViewRowEventArgs e)
{                    
    GridViewRow NewHeader = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Insert);
    NewHeader.Font.Bold = true;
    NewHeader.CssClass = "heading";

    //Item#
    TableCell NewHeaderCell = new TableCell();
    NewHeaderCell.Text = "#";
    NewHeaderCell.HorizontalAlign = HorizontalAlign.Left;
    NewHeader.Cells.Add(NewHeaderCell);

    //Item#
    NewHeaderCell = new TableCell();
    NewHeaderCell.Text = "Item#";
    NewHeaderCell.HorizontalAlign = HorizontalAlign.Left;
    NewHeader.Cells.Add(NewHeaderCell);

    //Amount
    NewHeaderCell = new TableCell();
    NewHeaderCell.Text = "Amount";
    NewHeaderCell.HorizontalAlign = HorizontalAlign.Right;
    NewHeader.Cells.Add(NewHeaderCell);
    GridView1.Controls[0].Controls.AddAt(e.Row.RowIndex + 
        rowIndex, NewHeader);
}
0
Akshay Mishra