Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将小计添加到Gridview和百分比差异_C#_Sql_Asp.net_Gridview_Percentage - Fatal编程技术网

C# 将小计添加到Gridview和百分比差异

C# 将小计添加到Gridview和百分比差异,c#,sql,asp.net,gridview,percentage,C#,Sql,Asp.net,Gridview,Percentage,我有一个从SQL语句派生的gridview。现在我想显示每列的小计,然后显示两个日期范围之间的总体增减百分比。我该怎么办 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Sales-Comparison.aspx.cs" Inherits="TowelsRusV3.Sales_Comparison" %>

我有一个从SQL语句派生的gridview。现在我想显示每列的小计,然后显示两个日期范围之间的总体增减百分比。我该怎么办

        <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Sales-Comparison.aspx.cs" Inherits="TowelsRusV3.Sales_Comparison" %>
        <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
            <div class="panel panel-info">
          <div class="panel-heading">
              <h1 class="panel-title text-center">Sales Comparison</h1>

          </div>
          <div class="panel-body">
           <div class="row">
               <div class="col-lg-8">
                             <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" CssClass="table table-bordered table-responsive table-striped" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" ShowFooter="True">
                      <Columns>
                          <asp:BoundField DataField="OrderDate" HeaderText="OrderDate" ReadOnly="True" SortExpression="OrderDate" />
                          <asp:BoundField DataField="Total2014" HeaderText="Total2014" ReadOnly="True" SortExpression="Total2014" />
                          <asp:BoundField DataField="Total2013" HeaderText="Total2013" ReadOnly="True" SortExpression="Total2013" />
                          <asp:BoundField DataField="Difference" HeaderText="Difference" ReadOnly="True" SortExpression="Difference" />
                      </Columns>
                  </asp:GridView>
                  <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:LiveDataV2ConnectionString %>" SelectCommand="SELECT 
        Table2014.OrderDate,
        isnull(Table2014.Total,0) as Total2014,
        isnull(Table2013.Total,0) as Total2013,
        isnull(Table2014.Total,0)-isnull(Table2013.Total,0) as Difference

        FROM 
               (SELECT SUM(order_header_total.oht_net) AS Total,
               dateadd(day,0,DATEDIFF(d,0,order_header.oh_datetime)) as OrderDate
               FROM order_header_total
               INNER JOIN order_header ON order_header_total.oht_oh_id = order_header.oh_id
               WHERE (order_header.oh_datetime BETWEEN '12/01/2014' AND '12/31/2014') 
               AND order_header.oh_os_id IN (1, 6, 4)
               GROUP BY dateadd(day,0,DATEDIFF(d,0,order_header.oh_datetime))) Table2014

        LEFT OUTER JOIN
               (SELECT SUM(order_header_total.oht_net) AS Total,
               dateadd(year,1,dateadd(day,0,DATEDIFF(d,0,order_header.oh_datetime))) as OrderDate
               FROM order_header_total
               INNER JOIN order_header ON order_header_total.oht_oh_id = order_header.oh_id
               WHERE (order_header.oh_datetime BETWEEN dateadd(year,-1,'12/01/2014') AND dateadd(year,-1,'12/31/2014'))
               AND order_header.oh_os_id IN (1, 6, 4)
               GROUP BY dateadd(year,1,dateadd(day,0,DATEDIFF(d,0,order_header.oh_datetime)))) as Table2013 On Table2013.OrderDate = Table2014.OrderDate

        order by Table2014.OrderDate"></asp:SqlDataSource>
                   </div>
               </div>
              </div>
                </div>
        </asp:Content>

您应该能够在select语句的末尾添加一个新列,类似于

sum(table_a.col1) + sum(table_b.coly) as SubTotal

然后对百分比列执行相同的操作,找出如何计算百分比。

谢谢您的帮助。