2012-01-25 2 views
2

내 테이블에 "Name", "Surname", "DOB", 과 같은 정적 열 머리글이 필요하지만 코드 대신 * .ui.xml에 선언하고 싶습니다.UiBinder를 사용하여 선언적으로 GWT Flextable 첫 행 (즉 표제)을 설정하는 방법은 무엇입니까?

public PersonViewImpl extends Composite implements PersonView { 
    /*Lots of code removed for clarity*/ 

    @UiField (provided = true) FlexTable personTable; 

    public PersonViewImpl(){ 
     personTable.setText(0, 0, "Name"); 
     personTable.setText(0, 1, "Surname"); 
     personTable.setText(0, 2, "DOB")  
    } 
} 

내가 시간 동안 인터넷 검색 한

<g:FlexTable ui:field="personTable" /> 

내 PersonView.ui.xml이있다, 그러나 여전히 : 지금

, 나는 다음과 같은 코드를 통해 그것을하고 있어요 안돼.

답변

2

UI Binder에서 FlexTable의 셀 요소를 설정할 수 없습니다. 아마도 tr 및 td를 렌더링하는 사용자 정의 위젯이 있어야합니다. 예를 들어, 같은 여기에 설명 : GWT table row as UiBinder

1

당신이 provider = true 선언 할 때, UI를 바인더하지 인스턴스 객체는, 당신은 당신의 자바 클래스의 인스턴스가 그것을 필요 올바른 코드는 다음과 같습니다

public PersonViewImpl(){ 
    // enter code here 
    personTable = new FlexTable(); 
    personTable.setText(0, 0, "Name"); 
    personTable.setText(0, 1, "Surname"); 
    personTable.setText(0, 2, "DOB"); 
} 
0

는에 initWidget(uiBinder.createAndBindUi(this)); 누락 생성자의 첫 번째 줄.

public class PersonViewImpl extends Composite implements PersonView { 
    /*Lots of code removed for clarity*/ 

    @UiField (provided = true) FlexTable personTable; 

    public PersonViewImpl(){ 
     initWidget(uiBinder.createAndBindUi(this)); 
     // TODO your code 
    } 
} 
:

이 시도

관련 문제