2012-03-08 3 views
1

나는 UiBinder를 사용하여 GWT로 개발 한 앱을 개발 중입니다. 하나의 견해로, 다중 선택을 허용해야하는 ListBox가 있습니다.UiBinder를 사용하여 GWT를 사용하여 MultipleSelect ListBox를 얻는 방법

현재 응용 프로그램은 setMultipleSelect (boolean isMultipleSelect) 메서드를 사용하여 ListBox에서 다중 선택을 사용하도록 설정합니다. 이 메서드는 이제 더 이상 사용되지 않으므로 ListBox (boolean isMultipleSelect) 생성자를 사용하는 것이 좋습니다.

문제는 내가 ListBox를 구성하지 않는다는 것입니다. 바인딩 할 때 문제가되는 것입니다. (나는 어떻게 작동하는지 잘 모르겠습니다).

내 코드는 같다 :

interface ViewUiBinder extends UiBinder<Widget, View> {} 

private static ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); 

private Widget widget; 
@UiField 
ListBox listBox; 

@Inject 
public View() { 
    widget = uiBinder.createAndBindUi(this); 
    listBox.setMultipleSelected(true); 
} 

사람이 다중 선택 생성자 생성자와리스트 박스를 초기화하기 위해서 방법을 알고 그것을 작동하게합니까?

감사합니다,

마티유

답변

1

나는 UiFieldprovided = true 주석 paramenter를 사용하여 필드를 초기화하는 것입니다. 당신은 필드 목록 상자를 초기화 할,하지만 View 생성자에서, 당신은 드 대문자를 사용하여 UI 위젯의 콩과 같은 속성에 액세스 할 수 uiBinder.createAndBinUi(this);

@UiField(provided = true) 
ListBox listBox = new ListBox(true); 
+0

감사합니다. 저는 이것을 시도 할 것입니다. 작동하는지 알려 드리겠습니다. – clavelm

+0

프로젝트에서 충분히 보지 못했지만 이미 다른 발표자에서 사용되었습니다. – clavelm

0

전에 문을 설정하지 않은 경우 UiBinder 템플릿 내부의 속성 이름.

<g:ListBox ui:field="listBox" multipleSelect="true" /> 

내가 그것을 절대적으로 필요해질 때까지 provided=true 주석 매개 변수를 회피하는 경향이 있으며,이 경우되지 않습니다 : 그것은 다음과 같습니다.

+1

하지만 그렇게하는 것은 사용되지 않는 setMultipleSelected 메소드를 호출하는 것과 같습니다. 그렇지 않습니까? – clavelm

+0

@clavelm : 그렇습니다. setMultipleSelected 메서드를 호출하는 것과 동일합니다.이 메서드를 사용하지 않으려 고했기 때문에이 솔루션을 제안하지 않았습니다. –

+0

독해가 실패했습니다. 죄송합니다. 하지만 여전히 IE6 고려 사항을 코딩해야한다면, 저는 진심으로 애도를 표합니다. – Jason482

관련 문제