如何计算gridview asp.net中的行数c#

时间:2016-10-27 13:14:20

标签: c# asp.net gridview

我有一个正确填充的gridview。当用户按下“搜索”按钮时,将调用函数ShowData(),该函数根据输入到文本框中的条件显示数据。我希望能够计算gridview中创建的行数。

我知道我可以从SQL数据库表中算出它,但我觉得简单地计算gridview中的行会更容易! (如果我错了,请纠正我!)

我试图在ShowData()函数中的代码中使用search_results = GridView1.Rows.Count.ToString();并使用此标记:

<div class="size_info" id="allSelected" runat="server" visible="false"><br />
                There are <asp:Label ID="search_results" runat="server"></asp:Label> entries for this search criteria.  
</div>
</div>

但它似乎没有返回任何值(甚至不是0!)。

任何帮助都将非常感谢!

2 个答案:

答案 0 :(得分:3)

search_results = GridView1.Rows.Count.ToString();

会将编译错误视为

  

System.String无法转换为System.Web.UI.Label

使用

search_results.Text = GridView1.Rows.Count.ToString();

并确保在绑定网格后写入此内容。

答案 1 :(得分:0)

如果启用了Pagination,则通过使用GridView1.Rows.Count您将仅获得当前页面行,因此,如果PageSize等于10并且有60行,则将获得10行结果不正确!

在这种情况下,您需要这样做:

protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)
    {
        var d = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
        if (d != null) lblGridRowsCount.Text = d.Count.ToString();
}