想要gridview中的几列的总和 [英] want sum of several columns in gridview

查看:48
本文介绍了想要gridview中的几列的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

< html xmlns =   http://www.w3.org / 1999 / xhtml >  
< head id = < span class =code-string> Head1 runat = server >
< title>查看Docket值< / 标题 >
< / head >
< body>
< form id = form1 runat = server >
< div>
< asp:GridView runat = server ID = gvrecords AutoGenerateColumns = false
HeaderStyle-BackColor = #7779AF HeaderStyle- ForeColor = 白色 DataKeyNames = DocketNo宽度= 80px < span class =code-keyword>>
< Columns>
< asp:TemplateField>
< ItemTemplate>
< a href = ' <%#UpdateDocket.aspx?DocketNo =+ DataBinder.Eval (Container.DataItem,DocketNo)%>' > <%#Eval( DocketNo%> < / a >
< / ItemTemplate >
< / asp:TemplateField >
< asp: BoundField DataField = ConsignorName HeaderText = Consigner />
< asp:BoundField DataField = ConsigneeName HeaderText = 收货人 />
< asp:BoundField DataField = 日期 HeaderText = 预订日期 />
< asp:BoundField DataField = FromSTN HeaderText = 预订站 />
< asp:BoundField DataField = ToStn HeaderText = Delivery Station />
< asp:BoundField DataField = PKG HeaderText = 数据包号码 />
< asp:BoundField DataField = ActualWt HeaderText = 实际重量 />
< asp:BoundField DataField = ChargeWt HeaderText = 充电重量 />
< asp:BoundField DataField = InvoiceValue HeaderText = 发票金额 />
< asp:BoundField DataField = 基础 HeaderText = 基础 />
< asp:BoundField DataField = FreightCharge HeaderText = 运费 />
< asp:BoundField DataField = FuelSurcharge HeaderText = 燃油附加费 />
< asp:BoundField DataField = FOV HeaderText = FOV />
< asp:BoundField DataField = COD HeaderText = COD />
< asp:BoundField DataField = FOD HeaderText = FOD />
< asp:BoundField DataField = PickupCharge HeaderText = 取件费 />
< asp:BoundField DataField = DoorDelivery HeaderText = 门禁 />
< asp:BoundField DataField = 处理 HeaderText = 处理 />
< asp:BoundField DataField = 其他 HeaderText = 其他 />
< asp:BoundField DataField = DktCharge HeaderText = Docket Charge />
< asp:BoundField DataField = SubTotal HeaderText = 小计 />
< asp:BoundField DataField = ServiceTax HeaderText = 服务税 />
< asp:BoundField DataField = GrandTotal HeaderText = 总计 />
< asp:BoundField DataField = 服务 HeaderText = 服务 />
< / >
< / asp:GridView >





和C#代码是

  public   partial   class  Docket:System.Web .UI.Page 
{
protected void Page_Load( object sender,EventArgs e)
{
if (!IsPostBack)
{
BindGridview();
}
}
受保护 void BindGridview()
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings [ amitpandeyConnectionString]的ConnectionString)。
con.Open();
SqlCommand cmd = new SqlCommand( select *来自Docket,con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
cmd.ExecuteNonQuery();
con.Close();
DataSet ds = new DataSet();
da.Fill(ds);
gvrecords.DataSource = ds;
gvrecords.DataBind();
}

}



在这种情况下,我想要Actual_Wt,FreightCharge,FuelSurcharge,FOD,FOV,COD,DocketCharge的总和在gridview的最后是有任何可能的方式

解决方案

参考:显示GridView的页脚总数,并在最后一列中添加列总和(行虎钳) [ ^ ]


网格视图页脚总计而不是在 Rowdatabound 中计算。



http: //techblog.turultechnologies.com/how-to-display-gridview-footer-total-in-asp-net/ [ ^ ]


< blockquote>另一种处理它的方法,只需在绑定Gridview之前添加以下代码。

你还应该在Gridview中添加show footer =true。

 DataSet ds =  new  DataSet(); 
da.Fill(ds);
gvrecords.Columns [ 7 ]。FooterText =( from row in dt.AsEnumerable()
选择 row.Field< double>( ActualWt))。跳过(gvrecords.PageIndex * gvrecords.PageSize)。获取(gvrecords.PageSize).Sum()。ToString( C,culmoney).Remove( 0 2 )。Trim();

gvrecords.DataSource = ds;
gvrecords.DataBind();
< / double >





在你的Html页面中进行这些更改,只需添加显示页脚为True

< asp:GridView runat =   server ID =   gvrecords AutoGenerateColumns =   false ShowFooter =   true HeaderStyle-BackColor =  #7779AF HeaderStyle-ForeColor =  白色 DataKeyNames =   DocketNo宽度=   80px &g吨;  


<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>View Docket Values </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView runat="server" ID="gvrecords"  AutoGenerateColumns="false"
HeaderStyle-BackColor="#7779AF" HeaderStyle-ForeColor="White" DataKeyNames="DocketNo" Width="80px">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href ='<%#"UpdateDocket.aspx?DocketNo="+DataBinder.Eval(Container.DataItem,"DocketNo") %>'> <%#Eval("DocketNo") %>  </a>
</ItemTemplate>
</asp:TemplateField>
    <asp:BoundField DataField="ConsignorName" HeaderText="Consigner" />
    <asp:BoundField DataField="ConsigneeName" HeaderText="Consignee" />
    <asp:BoundField DataField="Date" HeaderText="Booking Date" />
    <asp:BoundField DataField="FromSTN" HeaderText="Booking Station" />
    <asp:BoundField DataField="ToStn" HeaderText="Delivery Station" />
    <asp:BoundField DataField="PKG" HeaderText="No. of Packets" />
    <asp:BoundField DataField="ActualWt" HeaderText="Actual Weight" />
    <asp:BoundField DataField="ChargeWt" HeaderText="Charge Weight" />
    <asp:BoundField DataField="InvoiceValue" HeaderText="Invoice Value" />
    <asp:BoundField DataField="Basis" HeaderText="Basis" />
    <asp:BoundField DataField="FreightCharge" HeaderText="Freight Charge" />
    <asp:BoundField DataField="FuelSurcharge" HeaderText="Fuel Surcharge" />
    <asp:BoundField DataField="FOV" HeaderText="FOV" />
    <asp:BoundField DataField="COD" HeaderText="COD" />
    <asp:BoundField DataField="FOD" HeaderText="FOD" />
    <asp:BoundField DataField="PickupCharge" HeaderText="Pickup Charge" />
    <asp:BoundField DataField="DoorDelivery" HeaderText="Door Delivery" />
    <asp:BoundField DataField="Handling" HeaderText="Handling" />
    <asp:BoundField DataField="Misc" HeaderText="Misc" />
    <asp:BoundField DataField="DktCharge" HeaderText="Docket Charge" />
    <asp:BoundField DataField="SubTotal" HeaderText="Sub Total" />
    <asp:BoundField DataField="ServiceTax" HeaderText="Service Tax" />
    <asp:BoundField DataField="GrandTotal" HeaderText="Grand Total" />
    <asp:BoundField DataField="Service" HeaderText="Service" />
</Columns>
</asp:GridView>



and the C# Code is

public partial class Docket : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindGridview();
        }
    }
    protected void BindGridview()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["amitpandeyConnectionString"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("select * from Docket", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        cmd.ExecuteNonQuery();
        con.Close();
        DataSet ds = new DataSet();
        da.Fill(ds);
        gvrecords.DataSource = ds;
        gvrecords.DataBind();
    }

}


In this case I want the sum of Actual_Wt,FreightCharge,FuelSurcharge,FOD,FOV,COD,DocketCharge in the end of the gridview is there any possible way

解决方案

Refer: Displaying Total in Footer of GridView and also Add Sum of columns(row vise) in last Column[^]


Grid view Footer Total instead of calculating in Rowdatabound .

http://techblog.turultechnologies.com/how-to-display-gridview-footer-total-in-asp-net/[^]


Another way to handle it, Just add following code before binding Gridview.
And also you should use to add show footer="true" in Gridview.

DataSet ds = new DataSet();
da.Fill(ds);
 gvrecords.Columns[7].FooterText = (from row in dt.AsEnumerable()
                                                        select row.Field<double>("ActualWt")).Skip(gvrecords.PageIndex * gvrecords.PageSize).Take(gvrecords.PageSize).Sum().ToString("C", culmoney).Remove(0, 2).Trim();

gvrecords.DataSource = ds;
gvrecords.DataBind();
</double>



In your Html Page Make these Changes, Just Add Show footer as True

<asp:GridView runat="server" ID="gvrecords" AutoGenerateColumns="false" ShowFooter="true" HeaderStyle-BackColor="#7779AF" HeaderStyle-ForeColor="White" DataKeyNames="DocketNo" Width="80px">


这篇关于想要gridview中的几列的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆