2011-08-08 2 views
0

체크 상자 항목의 목록을 보유하는 scrollPanel을 만들려고합니다. 내 주요 문제는 CheckboxCell을 사용하여 CellList를 생성하는 것입니다. 다음은 컴파일 타임 오류를 일으키는 스 니펫입니다.gwt CellList 내의 CheckBoxCell

CheckboxCell testCheckBox = new CheckboxCell(); 

CellList<String> cellList = new CellList<String>(testCheckBox); 

오류 메시지 : 생성자 CellList (CheckboxCell)는 정의되지 않았습니다.

잘못된 생성자 인 경우 올바른 방법은 무엇입니까?

답변

2

CellList 유형을 부울로 변경해보십시오.

CheckboxCell testCheckBox = new CheckboxCell(); 
CellList<Boolean> cellList = new CellList<Boolean>(testCheckBox); 

갱신 : 다양한 세포에

더 많은 예제 (이이 체크 박스 + 사진을 결합,하지만 당신은 텍스트와 사진을 교체 할 수 있습니다) :

http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTree

그것은 약간의 더 까다 롭지 만이 쇼케이스에는 출처도 포함되어 있으므로 출처를 알기 쉽습니다.

PS : Lazier 솔루션은 세포 위젯을 사용하여 원하는대로 만들어 콤보/라벨 (복합 확장)하고 말 FlexTable에 배치 :)

+0

덕분에, 그 도움이됩니다. 그러나 텍스트를 체크 박스에 연결하거나 그 반대로 연결하는 방법은 무엇입니까? setRowData()를 사용할 수 없기 때문에, 아무것도 없다. – help

+0

@help 내 업데이트를 참조하십시오. – Xorty

1

당신은 그런 일을 시도 할 수 있습니다하지 않는 것입니다. "check"이벤트를 처리하기 위해 추가 네이티브 코드가 필요합니다.

public class StyleCell extends AbstractCell<Style> { 
@Override 
public void render(Context context, Style row, SafeHtmlBuilder sb) { 
    if (row == null) { 
     return; 
    } 
    sb.appendHtmlConstant("<INPUT TYPE=CHECKBOX NAME='property'>" + row.getProperty() + "</INPUT>"); 
} 

}

StyleCell styleCell = new StyleCell(); 
CellList<Style> styleList = new CellList<Style>(styleCell);