2013-02-04 4 views
2

데이터 테이블의 행 번호를 얻으려면 데이터 테이블을 직접 뷰 (JSF 2 dataTable row index without dataModel)에 바인드 할 수있는 대답이 있습니다.다중 JSF 데이터 바인딩하기 바인딩 테이블

저는이 기능을 복합 구성 요소에서 사용하고 있으며, 동일한 페이지에 여러 기능이있을 수 있습니다. 바인딩으로 인해 각 페이지에서 하나 이상의 구성 요소를 사용할 수 없게됩니다. 어떻게하면 각 테이블을 "개별적으로"바인딩 할 수 있습니까?

+0

그럼 각 테이블을 다른 관리되는 bean이나 backing bean의 다른 속성에 바인드 할 것인가? 왜 그것이 문제일까요? – partlov

답변

1

UIData 속성을 사용하여 백업 구성 요소 클래스를 만듭니다.

@FacesComponent("fooComponent") 
public class FooComponent extends UINamingContainer { 

    private UIData table; 

    // +getter +setter 
} 

그리고합니다 (#{cc} 현재 배면 부품 인스턴스를 지칭한다) 대신 #{cc.table}에 바인딩.

<cc:interface componentType="fooComponent"> 
    ... 
</cc:interface> 
<cc:implementation> 
    <h:dataTable binding="#{cc.table}" ...> 
     <h:column>#{cc.table.rowIndex + 1}</h:column> 
     ... 
    </h:dataTable> 
</cc:implementation> 
+0

작동. 고맙습니다! – nivis

+0

당신을 진심으로 환영합니다. – BalusC

+0

p : commandLink :

nivis

0

대신에 ui : repeat를 사용하면 varStatus.index를 통해 지원 기능이 내장되어 있습니다.

+0

OP가이 기능이 ui : repeat에 있음을 알고 있다고 생각하지 않습니다. – Neuralrank

관련 문제