在Gridview的页脚中显示gridview的记录总数

时间:2015-04-04 13:24:31

标签: c# asp.net gridview count

我必须显示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 Codebehind: -

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;
                }
            }
        }
    }

请帮忙

2 个答案:

答案 0 :(得分:1)

写一个全新的答案,因为第一个答案太冗长了。 在ShowFooter="true"上设置GridView。接下来编辑第一个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>

这就是你应该需要的。至少在我测试时有效。 还应该有一些方法可以将文本扩展到几列,但没有时间来测试它......

答案 1 :(得分:0)

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

试试这段代码。