Чтобы найти количество строк в DataGridView, где значения находятся в указанном диапазоне?

Один столбец моего DataGridView содержит несколько разных значений.

Например:

 columnName
    10
    21
    23
    25
    12
    14
    16
    28
    30
    29
    36
    47
    56
    65
    78
    89
    96
    121
    126
    21
    132
    55
    16
    ... etc

Здесь мне нужно разделить значения, лежащие в диапазоне 0-30, 30-60, 60-90,[...].

    {
    var sector1 = "no.of values lies between 0-30";
    var sector2 = "no.of values lies between 30-60";
    var sector3 = "no.of values lies between 60-90";
    var sector4 = "no.of values lies between 90-120";
     }

Я пробовал это,

     try
     {
     var values = dataGridView1.Rows.Cast<DataGridViewRow>().Select(x => (int)x.Cells[columnName].Value);
     var sector1 = values.Count(x => x >= 0 && x < 30);
     var sector2 = values.Count(x => x >= 30 && x < 60);
     var sector3 = values.Count(x => x >= 60 && x < 90);
     var sector4 = values.Count(x => x >= 90 && x < 120);
     var sector5 = values.Count(x => x >= 120 && x < 150);
     var sector6 = values.Count(x => x >= 150 && x < 180);
     [...]
     MessageBox.Show(sector1.ToString());
     [...]
     }
     catch
     {
      MessageBox.Show("ERROR");
     }

но бесполезно, я получаю только уведомление об ошибке.

Может ли кто-нибудь предложить синтаксис для определения количества строк между двумя диапазонами?


person Vigna    schedule 18.06.2014    source источник
comment
Я думаю, вы получаете исключение. Не могли бы вы поймать исключение и вставить сообщение сюда.   -  person qamar    schedule 18.06.2014
comment
Какое именно исключение вы получаете? Можете ли вы заменить ERROR на ex.Message (при условии, что вы поймаете Exception ex)?   -  person user3613916    schedule 18.06.2014


Ответы (1)


Не могли бы вы попробовать этот код

var values = gvtest.Rows.Cast<GridViewRow>().Select(x => x.Cells[0].Text);
var sector1 = values.Count(x => Convert.ToInt32(x) >= 0 && Convert.ToInt32(x) < 30);
person Sajith A.K.    schedule 18.06.2014