2013-06-09 3 views
0

Доброе утро, всем, У меня проблема, связанная с элементами управления primfaces. Я положил commandLink внутри dataGrid, но commandLink не попал в метод действия. Не знаю почему. Так что вы можете мне помочь в этой проблеме PLZ Вот кодPrimFacse Linkbutton не работает внутри dataGrid

<f:view> 
<h:form> 
    <p:tabView style="width: 420px;"> 

     <p:tab title="Events"> 

      <p:dataGrid value="#{EventDataTable.model}" var="event" 
         paginator="true" rows="3" columns="1" 
         paginatorTemplate="{CurrentPageReport} {PreviousPageLink} {NextPageLink}" 
         paginatorPosition="bottom" 
         styleClass="ui-datagrid-no-border" 
         > 
       <p:fieldset style="width:285px;height:150px" legend="#{event.eventDto.title}"> 

        <table> 

         <tr> 
          <td rowspan="5"> 
           <p:graphicImage value="#{event.image}" /> 
          </td> 
         </tr> 
         <tr> 
          <td></td> 
          <td> 
           Title: <p:outputLabel id="title" value="#{event.eventDto.title}"/> 
          </td> 
         </tr> 
         <tr> 

          <td></td> 
          <td> 
           Date: <p:outputLabel id="date" value="#{event.eventDto.date}"/> 
          </td> 

         </tr> 
         <tr> 
          <td></td> 
          <td> 
           Content: <p:outputLabel id="desc" value="#{event.eventDto.content}"/> 
          </td> 
         </tr> 
         <tr> 
          <td></td> 
          <td> 
           <p:commandLink value="View More" actionListener="#{EventDataTable.doSomething()}" ajax="false"/> 

          </td> 
         </tr> 
        </table> 


       </p:fieldset> 

      </p:dataGrid> 
     </p:tab> 
     </f:view> 
</h:form> 

Это боб

@ManagedBean(name="EventDataTable") 
@RequestScoped 
public class EventBean implements Serializable{ 

@PostConstruct 
    public void initial() { 
     try { 
      System.out.println("test init"); 
      List<EventDto> eventDtos = event.findEventByUserId(2); 
      List<EventWrapper> eventWrappers = new EventConverter().convert(eventDtos); 
      model = new ListDataModel<EventWrapper>(eventWrappers); 
      System.out.println("the size=" + model.getRowCount()); 


     } catch (ApplicationException ex) { 
      ex.printStackTrace(); 
     } 

    } 

    public EventBean() { 
    } 
public void doSomething() { 
     //Doing Redirection will be here 
     System.out.println("The selected number is " + model.getRowIndex()+"*****************************"); 

    } 
} 
+0

Вы должны показать код вашего компонента, связанный с вашим 'p: commandButton' ... и вы действительно на JSF 1.2? Что такое версия PrimeFaces? –

+0

Я не вижу никакой p: commandLink в вашей форме. Кроме того, ваш datagrid правильно отображает значения? Поскольку я вижу, что ваш bean-имя имеет верхний регистр (EventDataTable). И, наконец, вы пробовали отлаживать его, чтобы этот метод выполнялся, и есть какой-то странный механизм try/catch, который не показывает, например, stacktrace? – HRgiger

+0

Прошу прощения, теперь я поставил код, который имеет проблему. – Yasmin

ответ

0

Там нет формы в вашем XHTML. Оберните данные в форме

+0

Нет формы в предыдущем xhtml. – Yasmin