2013-04-02 4 views
0

Я использую предложенную опцию here для динамического добавления поля ввода текста в приложении PrimeFaces v3.5. Единственная проблема, с которой я столкнулся, заключается в том, что новый добавленный текст растет вертикально. Скриншот прилагается. enter image description hereДинамически добавленный компонент растет вертикально

ответ

2

<h:dataTable> генерирует HTML-<table> элемент, в котором каждая итерация генерирует <tr> элемент, который представляет, естественно новую строку.

Если вы не хотите создавать таблицу вообще, то вы не должны использовать <h:dataTable>, но, например, <ui:repeat>.

<h:form> 
    <ui:repeat value="#{bean.items}" var="item"> 
     <h:inputText value="#{item.value}" /> 
    </ui:repeat> 
    <h:commandButton value="add" action="#{bean.add}" /> 
    <h:commandButton value="submit" action="#{bean.submit}" /> 
</h:form> 

Это не создает каких-либо разметки и HTML <input> элементы by default в конечном итоге в одной строке.

+0

Спасибо BalusC .... большое вам спасибо –

+0

Просто еще один запрос. Я использую '' Я не хочу обновлять всю форму, поэтому я пытаюсь обновить только '' часть. но этого не происходит. Любой взлом для этого? –

+1

Как уже было сказано, '' не генерирует разметки. Логически, оберните его в компонент, который генерирует что-то в HTML, чтобы он был доступен/обновлен JavaScript/Ajax. Например, группа панелей с «id»? – BalusC

Смежные вопросы