如何在asp.net gridview行

时间:2017-04-06 18:41:31

标签: c# asp.net gridview

我正在开发一个asp.net webforms C#gridview。它是嵌套的gridview。每个子网格只有两行。每个子网格的第二行将在最后一列有一个操作按钮。到目前为止,我已经完成了,一切正常。根据数据类型,我必须在底部的一些子行中添加四个按钮。我的整个子网格是动态创建的并添加到父网格中。子网格有六列,我创建它作为边界字段,并将文本设置为值或向第六列添加按钮。如果需要,我可以将它们更改为模板字段。我不确定是否可以使用模板字段的页脚来添加四个按钮。

由于

1 个答案:

答案 0 :(得分:0)

没有什么信息可以继续,但由于你声明你动态创建了嵌套网格,我认为你熟悉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) { }检查之外移动数据绑定。