CellTable
에서 DataGrid
으로 데이터 위젯을 업데이트하려고하는데 기본적으로 온라인으로 변경된 내용이 @UiField CellTable<T>
에서 @UiField DataGrid<T>
으로 변경되었지만 그게 아닙니다.GWT DataGrid가 표시되지 않습니다.
private void init() {
sortHandler = new ListHandler<GWTUser>(getUsers());
dataGrid.setWidth("100%");
dataGrid.setHeight("100%");
dataGrid.setAutoHeaderRefreshDisabled(true);
dataGrid.setEmptyTableWidget(emptyDb);
dataGrid.addColumnSortHandler(sortHandler);
dataGrid.setVisibleRangeAndClearData(dataGrid.getVisibleRange(), true);
dataGrid.setRowCount(1, true);
dataGrid.clearTableWidth();
dataGrid.redraw();
// Setup Cell Table.
initCellTable();
// Connect the table to the data provider.
dataProvider.addDataDisplay(dataGrid);
}
private void initCellTable() {
// userId Column
TextColumn<GWTUser> userIdColumn = new TextColumn<GWTUser>() {
@Override
public String getValue(GWTUser object) {
return object.getUserId();
}
};
dataGrid.addColumn(userIdColumn, Lang.LABEL_USER_USERID);
dataGrid.addColumnSortHandler(sortHandler);
dataGrid.getColumnSortList().push(userIdColumn);
dataGrid.getColumnSortList().push(userIdColumn);
}
@Override
public void setUserList(List<GWTUser> users) {
setUsers(users);
dataGrid.setRowCount(getUsers().size(), true);
dataGrid.setRowData(0, getUsers());
dataGrid.setPageSize(getUsers().size());
dataGrid.setVisibleRange(new Range(0,dataGrid.getRowCount()));
dataGrid.redraw();
sortHandler.setList(getUsers());
}
uiBinder :
<g:VerticalPanel>
<g:ScrollPanel ui:field="listScrollPanel">
<c:DataGrid styleName= ui:field='dataGrid' width="100%" height="98%"/>
</g:ScrollPanel>
<g:HorizontalPanel>
<g:Button ui:field="createButton">New</g:Button>
<g:Button ui:field="refreshButton">Refresh</g:Button>
<g:Button ui:field="removeSelectedButton">Delete Selection</g:Button>
</g:HorizontalPanel>
</g:VerticalPanel>
내
DataGrid
가 크롬 개발 도구와 함께해야 할 지역을 변경
이 테이블에 데이터가 아니라 표시입니다 .
기본 정보 :이 생성자에 의해 호출되며 setUserList
이 휴식 서비스의 데이터를 가져올 때 내 activitiy에서 호출됩니다. 어떤 도움을 주셔서 감사합니다.
:
여기에 관련 질문입니다. [관련] (http://stackoverflow.com/questions/7874168/gwt-datagrid-automatic-height). – Baz
잘 작동하지만 이제는 다시 동적으로 만들기 위해 모든 것을 다시 설계해야합니다 .... – vicR
위대한, 답변을 추가했습니다. – Baz