Я думаю, что основной причиной проблемы является for = "column_0", а id = "column_ # {ind}" не совпадает.
Чтобы проверить это.
Изменить
<h:message styleClass="validationError" for="column_0" />
до
<h:messages/>
и посмотрите, перехватывает ли оно какое-либо сообщение.
Если появляется какое-либо сообщение, обратите внимание, что его идентификатор сравнивается с идентификатором компонентов.
РЕДАКТИРОВАТЬ: Старайтесь не использовать под знаком "_" в теге id.
ОТ JBOSS DOC
Примечание:
Поскольку 3.3.0GA требует явного определения «id» для дочерних компонентов, чтобы обеспечить правильную работу процесса декодирования.Пример того, как вы можете определить уникальный «id» для дочернего компонента:
<rich:columns value="#{bean.columns}" var="col" index="ind" ... >
<h:inputText id="input#{ind}" value="">
<a4j:support id="support#{ind}" event="onchange" reRender="someId" />
</h:inputText>
</rich:columns>
Только если «id», определенный как показано выше, Ajax после события onchange будет обработан, как и ожидалось.