C# 在每个表的末尾添加总计行
我希望在每个位置添加一行,如下图所示。该行将显示每列的总计。我已经计算了这些值(,),只需要将它们放在正确的位置,而且我似乎无法按照我想要的方式进行格式化 现在看起来是这样的: 我希望它看起来像这样: 我的ASPX页面C# 在每个表的末尾添加总计行,c#,html-table,C#,Html Table,我希望在每个位置添加一行,如下图所示。该行将显示每列的总计。我已经计算了这些值(,),只需要将它们放在正确的位置,而且我似乎无法按照我想要的方式进行格式化 现在看起来是这样的: 我希望它看起来像这样: 我的ASPX页面 <form id="form1" runat="server"> <div class="container"> <div class="page-header"> <h1> Re
<form id="form1" runat="server">
<div class="container">
<div class="page-header">
<h1>
Report</h1>
<br />
<div class="row">
<div class="span11">
<%
System.Data.OleDb.OleDbConnection pcn;
System.Data.OleDb.OleDbCommand pcm;
System.Data.OleDb.OleDbDataReader prs;
pcn = new System.Data.OleDb.OleDbConnection("");
pcm = new System.Data.OleDb.OleDbCommand();
pcn.Open();
pcm.Connection = pcn;
var tableSql = @"SELECT * FROM Accounts";
pcm.CommandText = tableSql;
prs = pcm.ExecuteReader();
var rowcount = 0;
var CurrentLocation = "";
while (prs.Read())
{
rowcount++;
%>
<% if (prs["Location"].ToString() != CurrentLocation)
{ %>
<table width="100%" class="table">
<thead>
<tr>
<th>
Name
</th>
<th>
Owes
</th>
<th>
Paid
</th>
<th>
Original Amt
</th>
<th>
Date
</th>
</tr>
</thead>
<h4>
<%= prs["Location"].ToString()%></h4>
<%
CurrentBranch = prs["Loction"].ToString();
} %>
<tr>
<td>
<%= prs["Name"].ToString() %>
</td>
<td>
$<%= prs["Owes"].ToString() %>
</td>
<td>
$<%= prs["Paid"].ToString() %>
</td>
<td>
$<%= prs["OrigAmt"].ToString() %>
</td>
<td>
<%= Convert.ToDateTime(prs["SubmitDate"].ToString()).ToShortDateString() %>
</td>
</tr>
<%
}
prs.Close();
pcn.Close();
%>
</table>
</div>
</div>
</div>
</div>
</form>
报告
名称
欠
支付
原始金额
日期
$
$
$
在SQL语句中,添加
UNION SELECT 'Totals', sum(Owes), sum (Paid), sum(OrigAmt), '' FROM Accounts
您最好在控制器中的页面加载处理程序中执行此操作。将新行添加到每个表中,并将总值放在其中。并就此写下smth:
foreach(var column in table.Columns)
{
foreach(var field in column)
{
//check if it isn't last row
//write the sum of (0..n-1) fields to lsat field in column
}
}
您将所有代码嵌入到aspx页面中的具体原因是什么?通常当我看到这是一个坏主意…同意。我建议将所有asp代码放在.cs文件中,并使用GridView之类的控件来显示数据。这是一个只供两个人使用的小报告,这是我知道如何在按位置分开的位置执行的唯一方法。我不想制作四个不同的GridView(也许有一种方法不必这样做)。如果你仍然要走这条路线,我建议制作四个不同的表格,而不是一个大表格。此外,您还可以对不同的位置进行foreach,并以这种方式将其分离出来。您可以根据SQL中的位置获取总计列表。然后,在写入为某个位置返回的所有行之后,只需在底部写入一个额外的表行,其中包含总数据。我认为这样做可能会比使用GridView更困难。@Tony感谢您的输入Tony,我将研究如何将其转换为几个不同的GridView。我知道如何获取总数,但我不知道如何将它们放在每个表下。