2017-01-05 4 views
1

У меня есть эта таблица:представить параметр с помощью PrimeFaces onClick?

.divTable{ 
 
\t display: table; 
 
\t width: 50%; 
 
     padding-top: 100px; 
 
     padding-left: 100px; 
 
     margin-left: auto; 
 
     margin-right: auto; 
 
} 
 
.divTableRow { 
 
\t display: table-row; 
 
} 
 
.divTableHeading { 
 
\t background-color: #EEE; 
 
\t display: table-header-group; 
 
} 
 
.divTableCell, .divTableHead { 
 
\t border: 1px solid #999999; 
 
\t display: table-cell; 
 
\t padding: 3px 10px; 
 
     background-color: #ffffff; 
 
     width: 50%; 
 
} 
 
.divTableHeading { 
 
\t background-color: #EEE; 
 
\t display: table-header-group; 
 
\t font-weight: bold; 
 
     width: 100%; 
 
} 
 
.divTableFoot { 
 
\t background-color: #EEE; 
 
\t display: table-footer-group; 
 
\t font-weight: bold; 
 
} 
 
.divTableBody { 
 
\t display: table-row-group; 
 
}
<div class="divTable"> 
 
    <div class="divTableBody"> 
 
    <ui:repeat var="customerInList" value="#{customerListController.resultMap.currentPositionResultList}">           <div class="divTableRow"> 
 
    <div class="divTableCell">#{customerInList.lastName} #{customerInList.firstName}</div> 
 
     <div class="divTableCell">#{customerInList.postalStreet} 
 
     <p:commandButton id="editCustomerButton" label="+" iconPos="center" onclick="PF('editCustomerDialog').show()"/> 
 
     <br/>#{customerInList.postalCode} #{customerInList.postalCity} 
 
     <br/>#{customerInList.phoneNumber} 
 
     <br/>#{customerInList.email} 
 
           
 
     </div> 
 
    </div> 
 
    </ui:repeat> 
 
</div> 
 
</div> 
 
    <p:dialog widgetVar="editCustomerDialog"> 
 
        
 
    </p:dialog>

и этот метод

public void parseParameter(int ID){ 
    this.ID = ID; 
} 

так вот приходит моя проблема. Как вы, возможно, уже видите, я пытаюсь создать всплывающее окно, чтобы показать более подробную информацию о клиенте. Моя идея заключалась в том, что я мог анализировать Id клиента из Invisible div или что-то вроде этого, поэтому я могу получить оставшиеся данные из моей базы данных с этим ID, но это не сработало для меня.

Есть ли другой способ сделать это?

+0

Какой учебник вы используете? И вне темы: Почему бы вам не использовать таблицу? Потому что кто-то сказал вам, что они «плохие»? Вы используете divs, а затем говорите, что они ведут себя как table header/row/cells. То есть в моем (не очень) скромном мнении еще хуже. – Kukeltje

ответ

1

Вы можете использовать f:setPropertyActionListener, чтобы установить значения для вашего боба из ваших p:commandButton затем использовать action события вашей кнопки, чтобы получить какие-либо дополнительные данные из вашей БД, и вы можете показать свой диалог на oncomplete случае вместо onclick поэтому получить выполнить после вашего метода bean.

<p:commandButton id="editCustomerButton" label="+" iconPos="center" action="#{customerListController.methodToGetYourRemainingData}" oncomplete="PF('editCustomerDialog').show()"> 
    <f:setPropertyActionListener target="#{customerListController.ID}" value="#{customerInList.ID}" /> 
</p:commandButton> 
+0

Спасибо, что помогли мне в этом. – Frekell

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