簡體   English   中英

如何將Footer添加到Gridview

[英]How can i add Footer to Gridview

如何在網格視圖中添加單獨的行以顯示總計。 我的設計看起來像這樣 圖像描述在這里

<asp:GridView ID="detailsGrid" runat="server" AllowPaging="True" AllowSorting="True"
                AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None"
                BorderColor="#2B80FF" BorderStyle="Solid" BorderWidth="1px" Width="100%" OnPageIndexChanging="detailsGrid_PageIndexChanging">
                <Columns>

                    <asp:BoundField HeaderText="Invoices Amount ($)" DataField="InvoiceAmount" />
                    <asp:BoundField DataField="ReceivedAmount" HeaderText="Received Amount($)" />
                    <asp:BoundField HeaderText="Balance Amount($)" DataField="BalanceAmount" />
                    <asp:BoundField HeaderText="Consumers Name" DataField="ConsumerEmailID" />
                </Columns>                    
                <EditRowStyle BackColor="#2461BF" />
                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#b3b3b3" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
                <PagerStyle BackColor="#B8C9EA" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#EFF3FB" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />

            </asp:GridView>

使用頁腳模板: http//msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.templatefield.footertemplate.aspx

該鏈接包含一個示例,顯示如何添加總字段。 基本上:

<asp:templatefield headertext="Total"
            itemstyle-horizontalalign="Right"
            footerstyle-horizontalalign="Right"
            footerstyle-backcolor="Blue"
            footerstyle-forecolor="White">
            <itemtemplate>
              <%#Eval("Total", "{0:c}") %>
            </itemtemplate>
            <footertemplate>
              <asp:label id="OrderTotalLabel"
                runat="server"/>
            </footertemplate>
          </asp:templatefield>

隨着:

void OrderGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {

    if (e.Row.RowType == DataControlRowType.DataRow)
    {

      // Get the cell that contains the item total.
      TableCell cell = e.Row.Cells[2];

      // Get the DataBoundLiteralControl control that contains the 
      // data-bound value.
      DataBoundLiteralControl boundControl = (DataBoundLiteralControl)cell.Controls[0];

      // Remove the '$' character so that the type converter works properly.
      String itemTotal = boundControl.Text.Replace("$",  "");

      // Add the total for an item (row) to the order total.
      orderTotal += Convert.ToDecimal(itemTotal);

    }

  }

使用頁腳行來執行此操作

查看此鏈接http://www.aspdotnet-suresh.com/2011/02/how-to-display-sum-of-columns-total-in.html

RowDataBind事件中檢查頁腳如下

float _total;
protected void grdv_cart_RowDataBound(object sender, GridViewRowEventArgs e)
{
 if (e.Row.RowType == DataControlRowType.DataRow)
 {
  DataRow dr = ((DataRowView)e.Row.DataItem).Row;
  float itemPrice = float.Parse(dr["ItemPrice"].ToString());
  _total += itemPrice;
 }
if (e.Row.RowType == DataControlRowType.Footer)
{
  //here write the totals into labels
}

如果有任何疑問給我評論!

暫無
暫無

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

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