Строго говоря, нет.Вы можете использовать методы расширения в стиле Linq, чтобы скрыть реализацию, но любой код на процедурном языке будет включать итеративный цикл по строкам.Даже событие RowDataBound запускается итерацией для каждой строки;однако, в любом случае, он выполняет итерацию по строкам, так что, по крайней мере, вы не дублируете циклическое поведение.