Получить GridView Количество строк с условием - PullRequest
0 голосов
/ 16 декабря 2011

Я использую VS2005 ASP.NET C # и SQL Server 2005.

У меня есть GridView на моей веб-странице и несколько ярлыков.

Я могу выделить значение количества строк в метке следующим образом:

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

Однако я хотел бы выделить другое значение для другой метки, которая подсчитывает количество строк, когда значение внутри столбца Роль равно "admin" .

Как я могу это сделать? Примеры и пример кода будут оценены.


EDIT:

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'

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

Вы можете запустить sqlCommand.ExecuteScalar () с оператором select, например:

select Count(UserRole) where UserRole = 'Admin'  

Возвращаемое значение можно затем использовать в качестве текста метки;

1 голос
/ 16 декабря 2011

Хорошо .. Я предполагаю, что вы используете ADO.Net

До GridView1.DataBind(), сделайте цикл for для Gridview или таблицы данных, которую вы собираетесь связать с Gridview1

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();

PS datatable1.Rows[i]["adminColumn"] или datatable1.Rows["adminColumn"][i] .. я не уверен .. гуглите это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...