2016-10-14 3 views
-1

표의 바닥 글에 대한 표시 합계에 대한 도움말이 필요합니다. Google에서 데이터 테이블이 아닌 일반 목록이없는 경우에만 Google에서 데이터 테이블이 아닌 일반 목록을 사용하고 있습니다.Gridview 바닥 글 표시

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> 

이 출력을 기다리고 있었다 :

enter image description here

내 전류 출력 데이터는 바닥 글 않고있다.

+0

그 나쁜 생각이 검사에 대한 세션을 사용을 참조하십시오. – Aristos

+0

@Aristos을 세션 이유 그때? – Imad

+0

@Imad 사용자에 대한 일부 데이터를 저장하지만 사용자가 로그인했는지 확인하는 자격 증명 기능이 필요합니다. – Aristos

답변

0

바닥 글 템플릿을 사용하십시오.

<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