【问题标题】:How to count the rows in a gridview asp.net c#如何计算gridview asp.net c#中的行数
【发布时间】:2016-10-27 13:14:20
【问题描述】:

我有一个正确填充的网格视图。当用户按下搜索按钮时,函数 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!)。

任何帮助将不胜感激!

【问题讨论】:

  • GridView1.RowCount
  • 如果你想在代码后面做,为什么要从 gridview 中计算行数?将 DataTable 与 GridView 绑定时,为什么不使用 DataTable.Rows.Count()?

标签: c# asp.net gridview


【解决方案1】:
search_results = GridView1.Rows.Count.ToString();

会给出编译错误

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

使用

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

并确保这是在绑定网格之后编写的。

【讨论】:

    【解决方案2】:

    如果你启用了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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2011-11-03
      • 2016-03-07
      • 1970-01-01
      相关资源
      最近更新 更多