获取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'
您可以运行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]
..我不确定……谷歌它