Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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# 将单词TOTAL添加到Gridview的最后一行_C#_Mysql_Asp.net_Gridview - Fatal编程技术网

C# 将单词TOTAL添加到Gridview的最后一行

C# 将单词TOTAL添加到Gridview的最后一行,c#,mysql,asp.net,gridview,C#,Mysql,Asp.net,Gridview,我有一个动态创建的GridView,我使用sql代码和ROLLUP来显示列的总数。但是,是否可以在空白单元格中显示单词总分? GridView: <asp:GridView runat="server" id="gvResults" CssClass="tblResults" onrowcre

我有一个动态创建的GridView,我使用sql代码
和ROLLUP
来显示列的总数。但是,是否可以在空白单元格中显示单词总分?

GridView:

<asp:GridView runat="server" 
                                id="gvResults" 
                                CssClass="tblResults" 
                                onrowcreated= "gvResults_RowCreated"
                                AllowSorting="true" 
                                OnSortCommand="gvResults_Sort" 
                                DataKeyField="ID" 
                                AutoGenerateColumns="true"
                                Visible =" true">
                            <HeaderStyle CssClass="tblResultsHeader" />
                            <AlternatingRowStyle BackColor="#EEEEEE" />

                        </asp:GridView>
select

    c.Name,
    COUNT(distinct jn.ID) as Jobs,
    sum(case when (select count(jbs.status) from jobstat jbs where jbs.jobid=jn.id and jbs.Status=''DEL'')>0 then 1 else 0 end) as EPOD,
     sum(case when (select count(jbs.status) from jobstat jbs where jbs.jobid=jn.id and jbs.Status=''POD'')>0 then 1 else 0 end) as POD,
    SUM((select COUNT(ID) from job_debriefs WHERE JobID = jn.ID)) as Debriefs,
    FROM customer c
    LEFT JOIN job_new jn ON jn.JobOwnerID = c.ID
    LEFT JOIN manifestdetails md ON md.JobID = jn.ID and md.ColDelReturn = ''C''
    LEFT JOIN manifest man ON md.ManifestID = man.ID
    WHERE jn.IsActive = 1 AND c.Company_ID = 12
    GROUP BY c.Name WITH ROLLUP
你可以参考。这可能对你有帮助

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
    Label Salary = (Label)e.Row.FindControl("lblSalary");        
    m = m + int.Parse(Salary.Text);
    //Table tb = new Table();
  }

  if (e.Row.RowType == DataControlRowType.Footer)
  {
    Label lblTotalPrice = (Label)e.Row.FindControl("Salary");
    lblTotalPrice.Text = m.ToString();
  }
}

您可以使用
GROUPING
SQL函数来确定是否将
c.Name
汇总到特定行中:

select
ifnull(c.Name,'TOTAL') as Name,
COUNT(distinct jn.ID) as Jobs,
sum(case when (select count(jbs.status) from jobstat jbs where jbs.jobid=jn.id and jbs.Status=''DEL'')>0 then 1 else 0 end) as EPOD,
 sum(case when (select count(jbs.status) from jobstat jbs where jbs.jobid=jn.id and jbs.Status=''POD'')>0 then 1 else 0 end) as POD,
SUM((select COUNT(ID) from job_debriefs WHERE JobID = jn.ID)) as Debriefs,
FROM customer c
LEFT JOIN job_new jn ON jn.JobOwnerID = c.ID
LEFT JOIN manifestdetails md ON md.JobID = jn.ID and md.ColDelReturn = ''C''
LEFT JOIN manifest man ON md.ManifestID = man.ID
WHERE jn.IsActive = 1 AND c.Company_ID = 12
GROUP BY c.Name WITH ROLLUP

但是,请注意,如果原始
c.Name
列中允许空值,则该值也将转换为单词“TOTAL”。据我所知,MySQL中没有解决这个问题的方法(当然除了消除空值)。

是的。当然谢谢。我得到错误函数pxp。分组不存在。pxp是数据库的名称对不起,我在这里错误地假设了MSSQL:)已更新查询。