asp.net ListView,在页脚中显示计算出的摘要? [英] asp.net ListView, show computed summary in footer?
本文介绍了asp.net ListView,在页脚中显示计算出的摘要?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在我的ASP.NET网站中计算学生的平均加权平均值(GWA)
I'm trying to compute for students' General Weighed Average (GWA) in my ASP.NET website
我的公式是(在SQL中)
My Formula is (in SQL)
ROUND(SUM((UnitsAcademic*Grade))/SUM(UnitsAcademic),3)
到目前为止,这是我的ASP.NET.我想使用ASP.NET计算GWA.现在我有点卡住了.
So far, here's my ASP.NET. I'd want to compute the GWA using ASP.NET. Now I'm kinda stuck.
ASPX
<asp:ListView OnItemDataBound="listviewGrade_ItemDataBound" ID="listviewGrade" runat="server" DataSourceID="sqlGrade" DataKeyNames="GradebookDetailId">
<LayoutTemplate>
<table class="Container8" >
<tbody>
<tr>
<th>Subject Code</th>
<th>Description</th>
<th>Units</th>
<th>Grade</th>
<th>Remarks</th>
<th>Faculty Name</th>
</tr>
<tr id="itemPlaceholder" runat="server" />
</tbody>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("SubjectCode") %></td>
<td><%# Eval("Description") %></td>
<td><asp:Label ID="lblUnitsAcademic" runat="server" Text='<%# Eval("UnitsAcademic") %>' /></td>
<td><asp:Label ID="lblGrade" runat="server" Text='<%# Eval("Grade") %>' /></td>
<td><%# Eval("Remarks") %></td>
<td><%# Eval("FacultyName") %></td>
</tr>
</ItemTemplate>
</asp:ListView>
<br/>
<asp:Label ID="lblGWA" runat="server" />
C#
protected void listviewGrade_ItemDataBound(object sender, ListViewItemEventArgs e)
{
Label lblGrade = (Label)e.Item.FindControl("lblGrade");
Label lblUnitsAcademic = (Label)e.Item.FindControl("lblUnitsAcademic");
}
推荐答案
尝试一下:
aspx:
try this:
aspx:
<asp:ListView OnItemDataBound="listviewGrade_ItemDataBound" ID="listviewGrade" runat="server"
DataSourceID="sqlGrade" DataKeyNames="GradebookDetailId">
<LayoutTemplate>
<table class="Container8">
<tbody>
<tr>
<th>
Subject Code
</th>
<th>
Description
</th>
<th>
Units
</th>
<th>
Grade
</th>
<th>
Remarks
</th>
<th>
Faculty Name
</th>
</tr>
<tr id="itemPlaceholder" runat="server" />
</tbody>
<tfoot>
<asp:Label ID="lblSum" runat="server" Text="Label"></asp:Label>
</tfoot>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("SubjectCode") %>
</td>
<td>
<%# Eval("Description") %>
</td>
<td>
<asp:Label ID="lblUnitsAcademic" runat="server" Text='<%# Eval("UnitsAcademic") %>' />
</td>
<td>
<asp:Label ID="lblGrade" runat="server" Text='<%# Eval("Grade") %>' />
</td>
<td>
<%# Eval("Remarks") %>
</td>
<td>
<%# Eval("FacultyName") %>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
cs:
int sum = 0;
protected void listviewGrade_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
Label lblGrade = (Label)e.Item.FindControl("lblGrade");
Label lblUnitsAcademic = (Label)e.Item.FindControl("lblUnitsAcademic");
sum += Convert.ToInt32(lblUnitsAcademic.Text) *
Convert.ToInt32(lblGrade.Text) / Convert.ToInt32(lblUnitsAcademic.Text);
}
}
protected void listviewGrade_LayoutCreated(object sender, EventArgs e)
{
Label lblSum = (Label)listviewGrade.FindControl("lblSum");
lblSum.Text = sum.ToString();
}
这篇关于asp.net ListView,在页脚中显示计算出的摘要?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文