スマートGWTでListGridに行を追加しようとしています。行が追加されていますが、値が表示されていません
public class SearchResultsView extends HLayout {
public SearchResultsView(EmployeeServiceAsync empServiceAsync) {
final ListGrid employeeGrid = new ListGrid();
employeeGrid.setWidth(500);
employeeGrid.setHeight(224);
employeeGrid.setShowAllRecords(true);
ListGridField empIDField = new ListGridField("empID", "Employee Id");
ListGridField empNameField = new ListGridField("empName",
"Employee Name");
employeeGrid.setFields(empIDField, empNameField);
// Employee[EmployeeData.getRecords().size()]);
empServiceAsync.getRecords(new AsyncCallback<List<Employee>>() {
@Override
public void onSuccess(List<Employee> result) {
System.out.println(result);
/*
Employee[] employee = result.toArray(new Employee[result.size()]);
employeeGrid.setData(employee);*/
EmployeeListGrid employeeListGrid[]=new EmployeeListGrid[result.size()];
int counter=0;
for (Employee employee : result) {
employeeListGrid[counter]=new EmployeeListGrid(employee.getEmpID(), employee.getEmpName());
System.out.println(employeeListGrid[counter].getEmpID()+">>"+employeeListGrid[counter].getEmpName());
counter++;
}
employeeGrid.setData(employeeListGrid);
}
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
}
});
this.addChild(employeeGrid);
}
}
説明>>サーバーにrpc呼び出しを行っているグリッドにデータを入力するために、サーバーはリストを返します。リストを反復処理し、タイプEmployeeListGridのオブジェクトの配列を作成します(EmployeeListGridがListGridRecordを拡張するため)。次に、作成したアレイを使用してemployeegridにフィードします。
ここで何かを見逃したことがありますが、グリッドに空の行が表示されるのはなぜですか?
「employeeListGrid」が正しく入力されていることをデバッグして確認しましたが、コンテンツがレンダリングされないことに注意してください。