簡體   English   中英

添加動態添加的標頭后,閱讀Gridview確切的行?

[英]Read Gridview exact rows after adding a dynamically added header?

我正在動態添加表標題行,如下所示。 正確渲染。 所以現在我有2個標題。

protected void gvCustomers_RowDataBound(object sender, GridViewRowEventArgs e)

{

if (e.Row.RowType == DataControlRowType.Header)
{
    GridViewRow newHeaderRow = new GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);

    TableCell cell1 = new TableHeaderCell();
    cell1.ColumnSpan = 1; //e.Row.Cells.Count;
    cell1.Text = "Expected";

    TableCell cell2 = new TableCell();
    cell2.ColumnSpan = 2;
    cell2.Text = "One";

    TableCell cell3 = new TableCell();
    cell3.ColumnSpan = 2;
    cell3.Text = "Two";

    TableCell cell4 = new TableCell();
    cell4.ColumnSpan = 2;
    cell4.Text = "Three";

    newHeaderRow.Cells.Add(cell1);
    newHeaderRow.Cells.Add(cell2);
    newHeaderRow.Cells.Add(cell3);
    newHeaderRow.Cells.Add(cell4);

    ((GridView)sender).Controls[0].Controls.AddAt(0, newHeaderRow);
}

}

如果我的gridview有3行,並遍歷gridview,它將僅讀取2行。 它正在跳過最后一行。

有什么想法嗎

我解決了 在RowCreated事件上編寫此代碼。 我在RowDataBound上編寫了此代碼,因此創建的標題行不一致。

protected void gvCustomers_RowCreated(object sender, GridViewRowEventArgs e)

{

如果(e.Row.RowType == DataControlRowType.Header){GridViewRow newHeaderRow = new GridViewRow(-1,-1,DataControlRowType.Header,DataControlRowState.Normal);

TableCell cell1 = new TableHeaderCell();
cell1.ColumnSpan = 1; //e.Row.Cells.Count;
cell1.Text = "Expected";

TableCell cell2 = new TableCell();
cell2.ColumnSpan = 2;
cell2.Text = "One";

TableCell cell3 = new TableCell();
cell3.ColumnSpan = 2;
cell3.Text = "Two";

TableCell cell4 = new TableCell();
cell4.ColumnSpan = 2;
cell4.Text = "Three";

newHeaderRow.Cells.Add(cell1);
newHeaderRow.Cells.Add(cell2);
newHeaderRow.Cells.Add(cell3);
newHeaderRow.Cells.Add(cell4);

((GridView)sender).Controls[0].Controls.AddAt(0, newHeaderRow);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM