Сделать икону условно - PullRequest
0 голосов
/ 19 октября 2018

В Datatable of Primefaces я хочу условно вставить значок в определенный столбец.

В этом столбце есть два значения: 1 или 0, если это 1, используйте значок проверки, а если это 0, используйтезначок закрытия.

Я уже пробовал с "рендерингом", с "стилем", с styleClass, и у меня это не работает.Либо считанные значения выводятся, либо ничего не отображается (столбец пуст).

Есть ли способ сделать это?

Я передаю часть кода:

<p:column headerText="Vota" width="30" filterBy="#{vot.estado}">
    <h:outputText value="#{vot.estado}" style="float:right #{vot.estado == 1 ? 'ui-icon-check' : 'ui-icon-close'}"/>
</p:column>

Ответы [ 3 ]

0 голосов
/ 20 октября 2018

Вы можете использовать атрибут rendered с самим outputText, как показано ниже:

<p:column headerText="Vota" width="30" filterBy="#{vot.estado}">
     <h:outputText rendered="#{vot.estado == 1}" value="#{vot.estado}" style="float:right" styleClass="ui-icon-check"/>
     <h:outputText rendered="#{vot.estado != 1}" value="#{vot.estado}" style="float:right" styleClass="ui-icon-close"/>
</p:column>
0 голосов
/ 20 октября 2018

У вас есть информация о значке в атрибуте style, в то время как она должна быть в атрибуте styleClass, и вам также нужен универсальный класс ui-icon .. Поэтому измените код на следующий, чтобы он работал

<p:column headerText="Vota" width="30" filterBy="#{vot.estado}">
    <h:outputText value="#{vot.estado}" style="float:right" styleClass="ui-icon #{vot.estado == 1 ? 'ui-icon-check' : 'ui-icon-close'}"/>
</p:column>
0 голосов
/ 19 октября 2018
<p:column headerText="Vota" width="30" filterBy="#{vot.estado}>
     <h:outputText value="#{vot.estado}"/>
     <i class="ui-icon #{vot.estado == 1 ? 'ui-icon-check' : 'ui-icon-close'}" style="display: inline-block"/>
</p:column>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...