获取GridView行计数和条件

本文关键字:条件 GridView 获取 | 更新日期: 2023-09-27 18:18:14

我使用的是VS2005 ASP。. NET c#和SQL Server 2005.

我有一个GridView在我的网页和几个标签。

我可以通过以下方式将行数的值分配到标签中:

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

然而,我想分配另一个值给另一个标签,当列Role内的值等于"admin"时,计算行数。

我该怎么做?示例和示例代码将被欣赏。


编辑:

int admincount=0;
foreach (DataRow oRow in GridView1.Rows)
{
    if (GridView1.Rows["User Role"].ToString().Trim().Contains("Admin"))
    {
        admincount++;
    }
}
AdminFound.Text = admincount.ToString();

我得到错误:

The best overloaded method match for System.Web.UI.WebContols.GridViewCollection.this[int] has some invalid arguments

Argument '1': canot convert from 'string' to 'int'

获取GridView行计数和条件

您可以运行sqlCommand.ExecuteScalar(),并使用如下的select语句:

select Count(UserRole) where UserRole = 'Admin'  

返回的值可以用作标签文本;

嗯…我假设你使用ADO.Net

GridView1.DataBind()之前,对Gridview或要绑定到Gridview1的数据表进行for循环

int admRows=0;
for(int i=0;i<datatable1.Rows.Count;i++)
{
  if(datatable1.Rows[i]["adminColumn"].ToString().Trim().ToLower().Contains("admin"))
  {
    admRows++;
  }
}
admFound.Text=admRows.ToString();
GridView1.DataSource=datatable1;
GridView1.DataBind();

注:datatable1.Rows[i]["adminColumn"]datatable1.Rows["adminColumn"][i] ..我不确定……谷歌它