2015-11-18 5 views
-1

В DataGridView (vb.net10) Я хочу, чтобы иметь возможность искать конкретную часть данных это может быть число или строка. В этом примере можно взять строку «sunshine». Так в моем column Я хочу подсчитать количество раз, когда появляется «солнечный свет», а затем поместите его в texbox. Проблема усугубляется тем фактом, что многие из столбцов вообще не имеют данных в них. (null). Есть ли способ I может зацикливаться на столбце, учитывать нули и подсчитывать количество раз, когда в столбце появилась определенная часть данных (в данном случае солнечный свет). Мне удалось сделать это в vba, но не могу взломать ее в vb.net . Помогает оценить looknowdatagridview подсчет конкретных данных

ответ

2
Dim itemCount as integer 
For i As Integer = 0 To DataGridView1.Rows.Count - 1 
    If (DataGridView1.Rows(i).Cells("Column").Value IsNot DBNull.Value or trim(DataGridView1.Rows(i).Cells("Column").Value <> Nothing) AndAlso DataGridView1.Rows(i).Cells("Column").Value = "Sunshine" Then 
     'your logic 
     itemCount = itemCount + 1 
     End If 
Next 

С помощью LINQ

Dim count = (From row As DataGridViewRow In DataGridView1.Rows _ 
        Where row.Cells("Your_Column_Name").Value = "Sunshine" And row.Cells("Your_Column_Name").Value IsNot DBNull.Value _ 
        Select row.Cells("Your_Column_Name").Value).Count() 

Я рекомендую LINQ, потому что это более лучше, чем Looping метод

+0

вы должны проверить 'DBNull.Value' или' Nothing' первым и использовать 'AndAlso' вместо' и ' – bansi

+0

Привет, vivek, спасибо за ответ. Я продолжаю получать синие squigly строки под dgv_events. Я пытался изменить это на DataGridView1_events (это мой datagrid, но он по-прежнему является sam ... сообщение читает .. 'dgv_ events' не объявлено. Это может быть непостижимым из-за его уровня защиты. Все предложения, которые были высоко оценены. Ожидается – looknow

+0

'dgv_events' is имя моего datagridview замените его на ваш datagridview –