2010-06-30 2 views
0

extendedDataTable과 하나 이상의 목록 상자가 포함 된 richface를 사용하는 seam 응용 프로그램에 페이지가 있습니다. 확장 데이터 테이블에서 항목을 선택하고 목록 상자 중 하나로 전환하면 extendedDataTable이 위쪽 및 아래쪽 화살표 키에 계속 응답하므로 현재 강조 표시된 목록 상자에서 선택 항목을 변경하는 데 사용하는 경우 extendedDataTable의 선택도 변경됩니다.초점을 맞추지 않은 경우 extendedData 선택 변경 문제를 해결하는 방법

extendedDataTable에 포커스가 없을 때 선택을 변경하는 것을 막을 수있는 방법이 있습니까?

는 불행히도 코드는 다소 복잡하지만, 테이블의 XHTML은 (단순에 대한 모든 열없이)입니다 :

<rich:extendedDataTable id="jobManJobListTable" enableContextMenu="false" 
     value="#{jobman_view.paginatedJobList}" var="job" rows="25" selectionMode="multi" 
     selection="#{jobman_view.jobListSelection}" height=""> 

    <a4j:support event="onselectionchange" reRender="detailsDiv,customerDiv" 
       action="#{jobman_view.onJobSelectionChange()}"/> 

    <rich:column width="10%" sortable="true" 
     label="#messages['jobman.ui.joblist.table.column.heading.type']}"> 
     <h:graphicImage value="../img/job_type_#{job.jobType.imageName}_16x16.png"/> 
     <rich:toolTip> 
      <span style="white-space: nowrap"> 
       <strong>#{job.jobType.name}</strong> 
      </span> 
     </rich:toolTip> 
    </rich:column> 

</rich:extendedDataTable> 

참고 테이블이 A4J에 열거 된 div의에 포함되지 않습니다 : Rerender를 지원합니다.

backing bean의 경우 paginatedJobList는 작업리스트 일 뿐이며 onJobSelectionChange는 backing bean이 선택한 작업을 변경하여 detail div에 reRendered 때 올바른 데이터가 포함되도록하고 jobListSelection은 a getter/setter 일뿐입니다. SimpleSelection입니다.

a4j : support와 관련이있는 것 같습니다. 선택하지 않으면 다른 컨트롤에 포커스가있을 때 변경되지 않습니다.

+0

실제 코드를 게시 할 수 있습니까? – pakore

답변

0

당신은 스마트 JS 함수를 작성하고 뭔가를 선택 스크롤을 해제 할 수있는 extendedDataTable

이 기능의 onkeypress 속성에 부착하고, 아무 것도 선택하지 않은 때 다시 활성화 할 수 있습니다.

관련 문제