2008-11-21 2 views
1

У меня есть DataGridView, который я хочу запросить с помощью Linq (C# WinForm). Я хочу «подсчитать» строки, где выполняются определенные критерии. Например,Как выполнить запрос DataGridView с использованием Linq

variable1 = "count rows where ColumnBoxAge > 3 || < 5" 

label1.Text = variable1 

Как это сделать в C# WinForm с использованием Linq?

+0

Что у вас есть в DataSource в DataGridView? – 2008-11-21 07:33:11

+0

У меня есть набор данных из SQL Server хранимой процедуры – MarlonRibunal 2008-11-21 07:39:45

ответ

2

Я не знаю, смогло ли это работать, но вы можете попробовать это;

dataSet.Tables[0].AsEnumerable().Where(c => c.Field<int>("ageColumn") > 3 || 
    c.Field<int>("ageColumn") < 5).Count(); 

Редактировать: Где вместо Выбрать.

+0

он подсчитывает все строки в dgv ... не то, что я хочу. Shld будет «подсчитывать строки, где BoxAge находится между 3 и 5» ... – MarlonRibunal 2008-11-21 08:01:06

0

Так что ваш запрос неверен! Попробуйте поставить '& &' вместо '||';

dataSet.Tables[0].AsEnumerable().Where(c => c.Field<int>("ageColumn") > 3 && 
    c.Field<int>("ageColumn") < 5).Count(); 

Редактировать: Где вместо Выбрать.

0

@yapiskan

dataSet.Tables[0].AsEnumerable().Where(c => c.Field<int>("ageColumn") > 3 && 
    c.Field<int>("ageColumn") < 5).Count(); 

.где вместо .select

Большое спасибо! Я ценю вашу помощь.

Смежные вопросы