2013-02-14 4 views
0

나는 ajax 기능을 사용하여 이름을 추가하고 하나의 이미지 (텍스트 왼쪽)와 하나의 "X"이미지 (삭제할 수있는 권리)가있는 테이블 방식으로 동일한 페이지에 표시합니다. 왼쪽에서 오른쪽으로 추가해야하며 한 행을 완료 한 후 다음 행부터 시작해야합니다.p : dataGrid에서 문자열의 arraylist를 표시하는 방법?

그래서 p : datagrid 또는 동일한 기능을 사용할 수있는 다른 태그에 문자열의 arraylist를 표시해야합니다.

나는 ui : repeat와 p : panelgrid의 조합으로 시도했지만 데이터 그리드를 얻지 못했습니다. funtionallty. p : dataTable을 사용하지 않았습니다. 왜냐하면 필요에 따라 하단에 새 요소를 추가 할 것이기 때문입니다.

P. 이미지 X 가까운 상징

<h:form> 

     <h:selectOneMenu id="recepients" value="#{controller.selected}"> 
      <f:selectItem itemLabel="Select" itemValue=""></f:selectItem> 
      <f:selectItem itemLabel="Info1" itemValue="Info1"></f:selectItem> 
      <f:selectItem itemLabel="Info2" itemValue="Info2"></f:selectItem> 
      <f:selectItem itemLabel="Info3" itemValue="Info3"></f:selectItem> 
      <f:selectItem itemLabel="Info4" itemValue="Info4"></f:selectItem> 
      <f:selectItem itemLabel="Info5" itemValue="Info5"></f:selectItem> 


     </h:selectOneMenu> 
     <p:commandButton value="Add" action="#{controller.submit}" 
      update="nameslist" /> 

     <p:dataGrid id="nameslist" value="#{controller.tempNameList}" 
      var="name" columns="3"> 
      <p:column> 
       <p:outputLabel value="%" /> 
      </p:column> 
      <p:column> 
       <p:outputLabel value="#{name}" /> 
      </p:column> 
      <p:column> 
       <p:commandLink value="X" action="#{controller.delete(name)}" 
        update="nameslist"> 
       </p:commandLink>     


      </p:column> 

     </p:dataGrid> 
    </h:form> 

결과는 다음과 같이되어야

...

% ABC는 X % XYZ X %의 DFD X

PLZ 고려 %

+0

직면 한 오류/문제에 대해 자세히 설명하는 것을 잊었습니다. 얼마나 정확하게 작동시킬 수 있습니까? – BalusC

+0

코드 일부를 공유하십시오. 아프지 않아요 :) –

+0

@BalusC 클릭하면 추가 버튼 이름이 추가되고 화면에 표 형식으로 표시되어야합니다. primeface의 DataGrid는이 솔루션을 제공합니다. 하지만 제 경우에는 문자열의 arraylist를 받아들이지 않습니다. –

답변

2

<p:dataGrid><p:column>을 지원하지 않습니다. 이 열 레이아웃은 <p:dataTable>에만 적용됩니다.

모두 <p:column>을 단일 그룹화 구성 요소 (예 : <h:panelGroup> 또는 <p:panel> 일 수 있으며 정확히 showcase site에 나와 있습니다.

<p:dataGrid id="nameslist" value="#{controller.tempNameList}" var="name" columns="3"> 
    <h:panelGroup> 
     <p:outputLabel value="%" /> 
     <p:outputLabel value="#{name}" /> 
     <p:commandLink value="X" action="#{controller.delete(name)}" update="nameslist" /> 
    </h:panelGroup> 
</p:dataGrid> 
+0

귀하의 ans 주셔서 감사합니다. 내가 그 일을 점검했을 때. 방금 commandlink 작업을 변경했습니다. 매개 변수를 제공하면 문제가 발생합니다. 하지만 삭제할 값을 전달할 수 있도록 해당 매개 변수가 필요합니다. 이 예외가 발생합니다 - /DynamicCss.xhtml 43 행 72 열 action = "# {controller.delete (name)}"표현식을 분석하지 못했습니다 [# {controller.delete (name)}] –

+0

환경이 EL 2.2를 지원하지 않는 경우 예외입니다. – BalusC

+0

그럼 어떻게해야합니까? 나는 이것에 대해 어떤 생각을 가지고 있지 않다. –

관련 문제