【问题标题】:Display gridview footer显示gridview页脚
【发布时间】:2016-10-14 08:59:06
【问题描述】:

在表格页脚的显示总和方面需要帮助,我使用的是通用列表而不是数据表,当我 google 解决方案时,我只能获得数据表指南,但没有通用列表。

    protected void FillRequestGrid()
{
    if (Session["loggedUserID"] == null && Session["loggedRoleID"] == null)
    {
        Response.Redirect("Login.aspx");
    }
    else
    {
        int loggedUserID = Convert.ToInt32(Session["loggedUserID"]);
        List<BOL.UserInfo> userslist = new UserInfos().List();
        BOL.UserInfo loggeduser = userslist.Where(x => x.UserID == loggedUserID).FirstOrDefault();

        List<BOL.HomeAnnouncement> train_L = new Homes().ATTENDANCE(loggeduser.SUBSIDIARY_CD, "7.00 am - 7.00 pm");

        GrdUsers.DataSource = train_L;
        GrdUsers.DataBind();

    }
}

<asp:GridView ID="GrdUsers" runat="server" CssClass="table table-striped table-bordered table-hover" EmptyDataText="No Records Found" DataKeyNames="Description"
    AllowPaging="true" AutoGenerateColumns="false" AutoGenerateDeleteButton="false" RowStyle-HorizontalAlign="Left" OnPageIndexChanging="GrdUsers_PageIndexChanging1"
    HeaderStyle-HorizontalAlign="Center" GridLines="None" BorderWidth="2px" EditRowStyle-BorderColor="#000000" EmptyDataRowStyle-BorderStyle="Groove" PageSize="10"
    Width="70%" RowStyle-CssClass="gradeX"  AlternatingRowStyle-CssClass="gradeA">
    <Columns>
        <asp:TemplateField HeaderText="Area" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="15%">
            <ItemTemplate>
                <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "Description")%></label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Total Employee" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="10%">
            <ItemTemplate>
                <label style="color: black; font-weight: bold"><%#DataBinder.Eval(Container.DataItem, "a_1")%></label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Present" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="7%">
            <ItemTemplate>
                <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "a_2")%></label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Absent" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="7%">
            <ItemTemplate>
                <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "status")%></label>
            </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField HeaderText="Percent of employee present(%)" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="15%">
            <ItemTemplate>
                <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "PURPOSE")%></label>
            </ItemTemplate>
        </asp:TemplateField>

    </Columns>
    <PagerStyle HorizontalAlign="Right" CssClass="pagination-ys" />
</asp:GridView>

期待这个输出:

我当前的输出数据没有页脚。

【问题讨论】:

  • 使用会话检查用户是否登录是个坏主意。
  • @Aristos 为什么要使用 Session?
  • @Imad 为用户存储一些数据,但您需要凭据函数来检查用户是否已登录。

标签: c# asp.net gridview generic-list


【解决方案1】:

使用页脚模板。

<asp:TemplateField HeaderText="Total Employee">
<ItemTemplate>
<asp:Label ID="lblamount" runat="server" Text='<%# Eval("Total Employee") %>'/>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblTotalEmployee" runat="server" />
</FooterTemplate>
</asp:TemplateField>

并添加 Gridview RowDataBound 事件来计算所有员工的总和。

int total = 0;
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType==DataControlRowType.DataRow)
{
total += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Total Employee"));
}
if(e.Row.RowType==DataControlRowType.Footer)
{
Label lblTotal= (Label)e.Row.FindControl("lblTotalEmployee");
lblTotal.Text = total.ToString();
}
}

查看参考资料

Ref 1

Ref 2

Ref 3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-27
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多