2015-03-23 2 views
1

У меня есть Accordionpanel> Tab> DataTable .Если у мыши/выберите строку в DataTable, показывая диалог .И если и закрыть диалоговое окно, сбросить выбранный ряд из управляемогоbean (thats произведение). Но я не могу обновить вышеуказанные данные в acc> tab.
код выглядит следующим образом:Как обновить DataTable в закладке аккордеона (primefaces)

<h:form id="alphabets"> 
    <h4>XYZ</h4> 
    <p:accordionPanel id="acc" value="#{aMB.aList}" 
     var="a" multiple="false" dynamic="true"> 
     <p:tab title="#{a.name}"> 
      <p:dataTable id="table_a" var="b" 
       value="#{a.Blist}" selectionMode="single" 
       selection="#{aMB.selectedA}" rowKey="#{b.id}" 
       rowIndexVar="count"> 

       <p:ajax event="rowSelect" update=":dialog_form:table_c" 
        onstart="PF('cDialog').show()" /> 

       <p:column style="width:40px !important;" headerText="id" 
        sortBy="#{count}"> 
        <h:outputText value="#{count+1}" /> 
       </p:column> 
       <p:column headerText="Name:"> 
        <h:outputText value="#{b.name}" /> 
       </p:column> 
      </p:dataTable> 
     </p:tab> 
    </p:accordionPanel> 
</h:form> 
<h:form id="dialog_form"> 
    <p:dialog header="xyz details" widgetVar="cDialog" 
     closeOnEscape="true" showEffect="fade" hideEffect="fade" 
     resizable="false"> 
     <p:ajax event="close" listener="#{aMB.selectedReset}" 
      update=":alphabets:acc:tab#{acc.activeIndex}" /> 

     <p:dataTable id="table_c" var="c" 
      value="#{aMB.selectedB.cList}" selectionMode="single" 
      rowKey="#{c.id}" 
      rowIndexVar="count"> 

      <p:column style="width:40px !important;" headerText="id" 
       sortBy="#{count}"> 
       <h:outputText value="#{count+1}" /> 
      </p:column> 
      <p:column headerText="Name"> 
       <h:outputText value="#{c.name}" /> 
      </p:column> 
     </p:dataTable> 
    </p:dialog> 
</h:form> 


При попытке открыть эту страницу, я получаю ниже ошибки:

javax.faces.FacesException: Cannot find component with expression ":alphabets:acc:tab" referenced from "dialog_form:j_id_b".

Так что я не могу обновить эту таблицу из dialog.Does У кого-нибудь есть идея или опыт? Спасибо заранее.

+0

Я пытался, но не мог найти в любом случае – erginduran

+0

я смотрел на поджигатель из browser.id = «алфавитов: акк: 0: TABLE_A» и я вручную попробовал этот идентификатор в обновление . Но все еще не сработало – erginduran

+0

С толстой кишкой впереди? Если вы не найдете другого решения, вы можете дать ему styleClass и сделать селектор для этого класса –

ответ

2

Обновление с помощью следующего кода:

<p:ajax event="close" listener="#{aMB.selectedReset}" update="@([id$=table_a])" /> 
Смежные вопросы