2010-06-28 88 views
4

如何在gridview中动态添加页脚行。与文本框..请给任何想法...如何在gridview中动态添加页脚行。与文本框

+0

“footer row”,你的意思是你想填充网格中的最后一行,或者你想要一个与所有其他行分开的行,并且锚定在GridView的底部? – 2010-06-28 10:03:45

回答

5

由于在网格视图IMO中只能有一个页脚行,因此最好通过将网格视图的ShowFooter属性设置为true来添加页脚行。在此设置 FooterStyle属性可能会有所帮助。

当来编程部分,

protected void MyGridView_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.Footer) 
    {    
    TextBox txt = new TextBox(); 
      // set properties of text box 
    e.Row.Cells[0].Controls.Add(txt); 
    } 
} 

试试这个和评论。

编辑:这将有助于 http://www.asp.net/data-access/tutorials/displaying-summary-information-in-the-gridview-s-footer-cs

0

1.Assign的数据源的GridView
2.In的RowDataBound找到GridView的行类型
3.如果ROWTYPE是FooterRow
4 。动态在行中添加文本框或所需的控件(每行都以TableRow的形式呈现)
您可以对其进行自定义。

0

只有一个尾行,所以你可以,如果是在代码中动态显示它如下控制:

if (GridView.EditIndex == -1) 
    GridViewProject.FooterRow.Visible = true; 
} 
else 
{ 
    GridViewProject.FooterRow.Visible = false; 
} 

在RowDataBound事件检查行键入并设置在那里需要的任何默认值: 我发现尽可能在可能的地方使用下拉列表以防止用户输入错误的数据

switch (e.Row.RowType) 
{ 
    case DataControlRowType.Header: 
    case DataControlRowType.DataRow: 
    case DataControlRowType.Footer: 
     //popluate ddls 
} 
switch (e.Row.RowType) 
{ 
    case DataControlRowType.Header: 
    case DataControlRowType.DataRow: 
    case DataControlRowType.Footer: 
     //popluate ddls 
}