Вы можете использовать Enumerable#any?
, который делает более или менее то, что вы сделали в своей реализации:
> found = arr.any?{|e| e[:email] == 'prathab@hotmail.in' && e[:valid] }
=> true
DataBound происходит после того, как все события RowDataBound сделаны, стреляя, и поэтому только стреляет однажды для управления. Если у Вас только есть одна вещь сделать, поместите ее в метод DataBound. Если это - что-то, что должно произойти на произвольной строке, сделать это в RowDataBound.
Вы надеетесь настраивать что-то в одной строке. Я использовал бы RowDataBound.