即目前我正在向gridview添加一个页脚行,如下所示
Protected Sub gvShoppingCart_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles gvShoppingCart.RowDataBound
' If we are binding the footer row, let's add in our total
If e.Row.RowType = DataControlRowType.Footer Then
e.Row.Cells(5).Text = "<strong>Total Cost:</strong>"
e.Row.Cells(6).Text = ShoppingCart.Instance.GetSubTotal().ToString("C")
End If
End Sub
如何添加更多页脚行,即总折扣,总保存量等同样如上所述
答案 0 :(得分:1)
使用默认控件只有一个页脚行,因此,您必须手动管理任何其他项目的显示,最有可能通过插入
或类似标记来创建其他行。
您可以为页脚中的字段执行自定义模板,以帮助控制布局。
答案 1 :(得分:1)
这是一些基于页脚行插入新行的代码。您可以修改它以插入多行。
Protected Sub gvShoppingCart_DataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles gvShoppingCart.DataBound
Dim grid as GridView = CType(sender, GridView)
''gets the current footer row to clone
Dim footer As GridViewRow = grid.FooterRow
Dim numCells = footer.Cells.Count
Dim newRow As New GridViewRow(footer.RowIndex + 1, -1, footer.RowType, footer.RowState)
''have to add in the right number of cells
''this also copies any styles over from the original footer
For i As Integer = 0 To numCells - 1
Dim emptyCell As New TableCell
emptyCell.ApplyStyle(grid.Columns(i).ItemStyle)
newRow.Cells.Add(emptyCell)
Next
newRow.Cells(5).Text = "Total Discount:"
newRow.Cells(6).Text = "55.00"
''add new row to the gridview table, at the very bottom
CType(grid.Controls(0), Table).Rows.Add(newRow)
End Sub
答案 2 :(得分:0)
您需要使用<FooterTemplate>
的{{1}}中的<asp:TemplateField>
以下是一个示例:http://csharpdotnetfreak.blogspot.com/2009/07/display-total-in-gridview-footer.html
更好的选择是使用GridView
控件。它为布局提供了更大的灵活性。