Хм. Странная задачка.
1) Если пользователь не выбрал несколько строк, обработается одна - текущая. Как Вы думаете, зачем иначе в цикле третичный оператор "? : " ?
2) "в противном случае поле с дисплей методом ведет себя не стабильно" - это ошбка прогрммирования. Программируйте дисплей методы на таблице. Не забывайте кэшировать. Или храните рассчетные значения в переменных.
С Уважением,
Георгий.