0
我想每次從樹中選擇一個項目時查看celltable上的屬性,並刷新celltable,因此將顯示選定的數據。我有這樣的代碼:更新celltable列中的選定項目
void updateSList(int dID) {
m.setWidth("100%");
m.setAutoHeaderRefreshDisabled(true);
final ListDataProvider<M> list=new ListDataProvider<M>();
SimplePager.Resources pager=GWT.create(SimplePager.Resources.class);
simplePager=new SimplePager(TextLocation.CENTER, pager, false,0,true);
final List<M> me=list.getList();
final ListHandler<M> sort=new ListHandler<M>(me);
m.addColumnSortHandler(sort);
Column<Metric,String> thirdColumn=new Column<M,String>(new TextCell()) {
@Override
public String getValue(M object) {
// TODO Auto-generated method stub
return object.getName();
}
};
Column<M,String> forthColumn=new Column<M,String>(new TextCell()) {
@Override
public String getValue(M object) {
// TODO Auto-generated method stub
return object.getLast();
}
};
m.addColumn(thirdColumn,"Name");
thirdColumn.setSortable(true);
sort.setComparator(thirdColumn,new Comparator<M>() {
@Override
public int compare(M m1, M m2) {
// TODO Auto-generated method stub
return m1.getName().compareTo(m2.getName());
}});
m.addColumn(forthColumn,"Last");
forthColumn.setSortable(true);
sort.setComparator(forthColumn,new Comparator<M>() {
@Override
public int compare(M m1, Mm2) {
// TODO Auto-generated method stub
return m1.getLast().compareTo(m2.getLast());
}});
AsyncCallback<List<M>> callback = new AsyncCallback<List<M>>() {
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
}
@Override
public void onSuccess(final List<M> result) {
list.addDataDisplay(m);
for (final M mt : result) {
me.add(mt);
}
m.setVisibleRangeAndClearData(new Range(0,10), true);
simplePager.setDisplay(m);
}
};
rpcService.getData(dID, callback);
bevor選擇第二項:
COL1 | col2 | COL3
選擇第二項後:
COL1 | col2 | col3 | col1 | col2 | COL3
如果我從樹中選擇一個項目,我可以看到這個項目的性質,但如果我選擇下一個項目,我得到所示的列這個項目的屬性重複了兩次,但我想這通常顯示的視圖,而不是增加列。有人可以建議我在哪裏做錯了嗎?
謝謝,你的意思是轉移到onSuccess,還是在updateSList之外創建其他方法,並將所有代碼放在那裏? – Kaly 2014-09-05 15:35:20
您需要將所有內容(包括AsyncCallback)從'updateSList'中移出。移動到一個包含此CellTable的小部件或視圖。 – 2014-09-05 18:00:46