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