簡體   English   中英

如何在asp.net gridview行的底部動態添加按鈕

[英]How to add buttons dynamically at the bottom of an asp.net gridview row

我正在使用asp.net Webforms C#gridview。 它是一個嵌套的gridview。 每個子網格只有兩行。 每個子網格的第二行在最后一列將具有一個操作按鈕。 至此,我已經完成,一切正常。 根據數據類型,我必須在底部的某些子行中添加四個按鈕。 我的整個子網格都是動態創建的,並已添加到父網格。 子網格有六列,我將它們創建為邊界域,然后將文本設置為值或將按鈕添加到第六列。 如果需要,我可以將它們更改為模板字段。 我不確定模板字段的頁腳是否可用於添加四個按鈕。

謝謝

幾乎沒有任何信息可做,但是由於您聲明要動態創建嵌套網格,因此我認為您對RowDataBound事件很熟悉。 您也可以使用它來添加按鈕。 在此代碼段中,我將按鈕添加到頁腳行中,因此您必須在嵌套網格中啟用該行: ShowFooter="true"

bool primary = false;

protected void NestedGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    //check if the current row is a datarow or a footer row
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (column == value)
        {
            primary = true;
        }
    }
    else if (e.Row.RowType == DataControlRowType.Footer && primary == true)
    {
        //create 4 buttons in a loop
        for (int i = 0; i < 4; i++)
        {
            //create a new button
            Button button = new Button();
            button.Text = "Button " + (i + 1);

            //add a click handler to the button
            button.Click += Button1_Click;

            //add the button to the footer row
            e.Row.Cells[i].Controls.Add(button);
        }
    }
}

因為要向GridView動態添加控件,所以每次頁面加載時都必須進行數據綁定,因此請將數據綁定移到if (!Page.IsPostBack) { }檢查之外。

暫無
暫無

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

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