2014-12-22 12 views
0

gwt sdk 2.6.0을 사용하고 있습니다. GWT의 CellTable에서 SelectionCell을 동적으로 업데이트하십시오.

내가 A와 B로 열을 포함하는 CellTable이 아래에있는 내 간단한 문제 설명,

을 찾아주세요. Col A는 편집 할 수없는 값을 포함하고 Col B는 드롭 다운 (SelectionCell)을 포함합니다.

Col B 드롭 다운 옵션은 Col A의 값에 따라 각 행마다 달라야합니다.

드롭 다운 옵션에 대해 고정 값을 렌더링 할 수 있습니다 (즉, 모든 행에 대해 동일 함). 위의 설명에 따라 동적으로 다른 옵션을 사용할 수 없습니다.

예 : Col A의 값이 'a'이면 Col B는 {x, y} 옵션이있는 드롭 다운을 포함하고 Col A의 값이 'b'이면 Col B의 드롭 다운에는 {y , z} ... 각 열의 드롭 다운 (Col B)에있는 값 집합이 A 열의 값에 따라 달라진다는 것을 의미합니다.

답변

0

SelectionCell을 사용하여 각 행에 다른 옵션을 표시 할 수 없습니다. 전달 된 객체를 기반으로 다른 옵션을 렌더링하는 자체 사용자 정의 셀을 만들어야합니다.

UPDATE : 당신은 SelectionCell을 확장해야합니다 및

(가) 셀에 사용할 수있는 정보를 기반으로 드롭 다운 목록에서 옵션을 포함하는 규칙을 설정하는 방법을 추가

. 이 값은이 셀에 전달되는 현재 값 (String) (예 : 값이 "red"또는 "green"또는 "blue"인 경우 옵션 "red, green, blue") 또는 행 번호 예를 들어 1 행, 2 행 및 5 행에는 "red, green, blue"옵션이 표시됩니다. 대체로 다른 곳에서 업데이트하는 데이터 구조에 대한 참조를 전달해야합니다.

(b) 위에 설정된 규칙에 따라 옵션을 표시하려면 render 메서드를 재정의하십시오.

또는 옵션을 설정하는 방법을 추가 한 다음 다른 열의 셀을 업데이트 할 때이 메서드를 호출 할 수 있습니다.

+0

아마 그 문제를 분명하게 설명하는 나의 실수. 아래의 내 문제를 설명하기 위해 더 나은 방법을 시도해 봅니다. Col A가 'a'값을 포함하고 Col B가 옵션 {x, y}을 가진 드롭 다운을 포함한다면 Col A가 'b'값을 포함하면 Col B는 {y, z} 옵션이있는 드롭 다운을 포함합니다 ... 이는 각 행의 드롭 다운에있는 값 집합이 변경된다는 것을 의미합니다. –

+0

답을 업데이트했습니다. –

+0

힌트를 보내 주셔서 감사합니다. 실제로 나는 인터넷에서 제안 된 다른 옵션을 시도했다 : addOption/removeOpyion으로 DynamicSelectionCell을 생성하고 onBrowserEvent에 대해 이야기한다. 하지만 내 문제에 대한 해결책을 찾기 위해 점들을 연결할 수 없습니다. 저를 도와주세요. 미리 감사드립니다. –