asp.net ListView,在页脚中显示计算出的摘要? [英] asp.net ListView, show computed summary in footer?

查看:80
本文介绍了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屋!

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