2015-04-04 69 views
1

为了达到信息目的,我必须显示gridview中存在的记录总数。在Gridview的页脚中显示gridview的记录总数

我想表明,在GridView的页脚

总记录为“”的记载。

这里是我的gridview的ASPX代码

<asp:GridView ID="grdTeacherProfile" 
       runat="server" 
       Width="100%" 
       border="1" Style="border: 1px solid #E5E5E5;" 
       CellPadding="3" FooterStyle-BackColor="#e3e3e3" 
       AutoGenerateColumns="false" 
       AllowPaging="true" 
       DataKeyNames="Id" 
       CssClass="hoverTable" 
       PageSize="10" 
       ShowFooter="false" 
       OnPreRender="PreRenderGrid" 
       HeaderStyle-CssClass="k-grid td" 
       OnDataBound="grdTeacherProfile_DataBound" 
       OnPageIndexChanging="grdTeacherProfile_PageIndexChanging" 
       OnRowDeleting="grdTeacherProfile_RowDeleting" 
       OnRowCommand="grdTeacherProfile_RowCommand" 
       EnableSortingAndPagingCallbacks="false" 
       EmptyDataText="No records found"> 
       <AlternatingRowStyle CssClass="k-alt" /> 
       <Columns> 
        <asp:TemplateField HeaderText="Select" ItemStyle-Width="5"> 
         <ItemTemplate> 
          <asp:CheckBox ID="chkDelete" runat="server" onClick="Check_Click(this)" /> 
         </ItemTemplate> 
        </asp:TemplateField> 
        <asp:BoundField DataField="first_name" HeaderText="First Name" ItemStyle-Width="25" /> 
        <asp:BoundField DataField="last_name" HeaderText="Last Name" ItemStyle-Width="25" /> 
        <asp:BoundField DataField="emailid" HeaderText="Email Id" ItemStyle-Width="25" /> 
        <asp:BoundField DataField="dob" HeaderText="Date of Birth" ItemStyle-Width="20" ApplyFormatInEditMode="true" DataFormatString="{0:d}" /> 
        <asp:BoundField DataField="gender" HeaderText="Gender" ItemStyle-Width="20" /> 
        <asp:BoundField DataField="designation" HeaderText="Designation" ItemStyle-Width="20" /> 
        <asp:BoundField DataField="joining_date" HeaderText="Joining Date" ItemStyle-Width="20" ApplyFormatInEditMode="true" DataFormatString="{0:d}" /> 
        <asp:BoundField DataField="leaving_date" HeaderText="Leaving Date" ItemStyle-Width="20" ApplyFormatInEditMode="true" DataFormatString="{0:d}" /> 
        <asp:BoundField DataField="active" HeaderText="Active" ItemStyle-Width="25" /> 
        <asp:TemplateField HeaderText="Action" HeaderStyle-Width="5%"> 
         <ItemTemplate> 
          <asp:ImageButton ID="btnEdit" AlternateText="Edit" ImageUrl="~/images/edit.png" ToolTip="Edit" runat="server" Width="15" Height="15" CommandName="eEdit" CommandArgument='<%# Eval("Id") %>' CausesValidation="false" /> 
          <asp:ImageButton ID="btnDelete" AlternateText="Delete" ImageUrl="~/images/delete.png" ToolTip="Delete" runat="server" Width="15" Height="15" CommandName="Delete" CommandArgument='<%# Eval("Id") %>' CausesValidation="false" OnClientClick="return confirm('Are you sure you want to delete this record?')" /> 
         </ItemTemplate> 
        </asp:TemplateField> 
       </Columns> 
       <PagerStyle ForeColor="#e3e3e3" 
        BackColor="#e3e3e3" CssClass="grid-pagi" /> 
       <PagerTemplate> 
        <table runat="server" id="testTable1" style="width: 100%" class="hoverTable_tbl"> 
         <tr> 
          <td class="col-md-4 pull-left"> 
           <asp:Label ID="MessageLabel" 
            Text="Select a page:" 
            runat="server" /> 
           <asp:LinkButton ID="FirstLB" runat="server" CommandName="Page" CommandArgument="First" ToolTip="First" CssClass="btn-pager btn-default"><<</asp:LinkButton> 
           <asp:LinkButton ID="PrevLB" runat="server" CommandName="Page" CommandArgument="Prev" ToolTip="Previous" CssClass="btn-pager btn-default"><</asp:LinkButton> 
           <asp:DropDownList runat="server" ID="PageDropDownList" AutoPostBack="true" EnableViewState="true" OnSelectedIndexChanged="PageDropDownList_SelectedIndexChanged" CssClass="selectpicker form-control-drp"></asp:DropDownList> 

           <asp:LinkButton ID="NextLB" runat="server" CommandName="Page" CommandArgument="Next" ToolTip="Next" CssClass="btn-pager btn-default">></asp:LinkButton> 
           <asp:LinkButton ID="LastLB" runat="server" CommandName="Page" CommandArgument="Last" ToolTip="Last" CssClass="btn-pager btn-default">>></asp:LinkButton> 
          </td> 

          <td> 
           <asp:Label ID="lblRecords" runat="server" Text="sss"></asp:Label> 
          </td> 

          <td class="col-md-3"> 
           <div> 
            <div class="pull-left"> 
             <asp:Label ID="PageSizeLabel" CssClass="page-size" runat="server" Text="Select Page Size: "></asp:Label> 
             <asp:DropDownList ID="ddlPageSize" runat="server" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged" AutoPostBack="true" CssClass="selectpicker form-control-drp"> 
              <%-- <asp:ListItem Value="0" Text="0" />--%> 
              <asp:ListItem Value="1" Text="1" /> 
              <asp:ListItem Value="2" Text="2" /> 
              <asp:ListItem Value="3" Text="3" /> 
             </asp:DropDownList> 
            </div> 
            <div> 
             <asp:Label ID="CurrentPageLabel" CssClass="view" runat="server" /> 
            </div> 
           </div> 
          </td> 
         </tr> 
        </table> 
       </PagerTemplate> 
       <RowStyle /> 
      </asp:GridView> 

CS代码隐藏: -

public void BindGrid() 
    { 
     string conString = ConfigurationManager.ConnectionStrings["DefaultCSRConnection"].ConnectionString; 
     SqlCommand cmd = new SqlCommand("Select Id, first_name, last_name,emailid, dob, gender, designation, joining_date, leaving_date, active from tbl_teachers_profile Order by Id desc"); 
     using (SqlConnection con = new SqlConnection(conString)) 
     { 
      using (SqlDataAdapter sda = new SqlDataAdapter()) 
      { 
       cmd.Connection = con; 
       sda.SelectCommand = cmd; 
       using (DataTable dt = new DataTable()) 
       { 
        sda.Fill(dt); 
        grdTeacherProfile.DataSource = dt; 
        grdTeacherProfile.DataBind(); 
        DisablePageDirections(); 
        grdTeacherProfile.BottomPagerRow.Visible = true; 
       } 
      } 
     } 
    } 

请帮

回答

1

由于第一个答案太冗长,所以写了一个全新的答案。 在GridView上设置ShowFooter="true"。接下来编辑第一TemplateField这样的:

<asp:TemplateField HeaderText="Select" ItemStyle-Width="5"> 
    <ItemTemplate> 
     <asp:CheckBox ID="chkDelete" runat="server" onClick="Check_Click(this)" /> 
    </ItemTemplate> 
    <FooterTemplate> 
     Number of records: <%# grdTeacherProfile.Rows.Count %> 
    </FooterTemplate> 
</asp:TemplateField> 

而这一切,你应该需要。至少在我测试的时候工作。 还应该有一些方法来跨越文本到几列,但没有时间来测试..

+0

我不能在前端看到文本'数量的记录' – 2015-04-06 05:25:29

+0

是的,它正在工作,我使ShowFooter = true,它的工作 – 2015-04-06 05:28:34

+0

很高兴你运行。 – Sami 2015-04-06 07:00:10

0
int RowCount = grdTeacherProfile.Rows.Count; 
lblDisplayCount.Text = RowCount.ToString(); 

试试这个代码。