Hello!
I hope someona can tell me what am I doing wrong. I want to create a grid table with a column where I display an Image. If I click on this image an action is performed. I get the data for this grid by a GWT RPC call.
However the images are not displayed in the grid.
This is the code of the grid:
And this is by data class:
Thank you really for your help!!!!!!!!
I hope someona can tell me what am I doing wrong. I want to create a grid table with a column where I display an Image. If I click on this image an action is performed. I get the data for this grid by a GWT RPC call.
However the images are not displayed in the grid.
This is the code of the grid:
Code:
ListGridField diagnosisId = new ListGridField("diagnosisId", "ID", 20); ListGridField diagnosisName = new ListGridField("diagnosis", lang.assumedDiagnosis(), 150); ListGridField action = new ListGridField("action", lang2.action(),100); action.setType(ListGridFieldType.IMAGE); list.setWidth(280); list.setHeight100(); list.setShowAllRecords(true); list.setWrapCells(true); list.setFields(diagnosisId, diagnosisName, action); list.addDoubleClickHandler(new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { System.out.println(list.getSelectedRecord().getAttribute("diagnosisId")); DiagnosisStackSummary stack = new DiagnosisStackSummary(Integer.parseInt(list.getSelectedRecord().getAttribute("diagnosisId")), 500, 400); SmartGwtWindow window = new SmartGwtWindow(); window.createSmartGwtWindow(520, 450, list.getSelectedRecord().getAttribute("diagnosis"), stack.createDiagnosisStackSummary(), false); }}); service.getDiagnosis(sessionPID, new AsyncCallback<List<ClientDmisSessionDiagnosis>>() { @Override public void onFailure(Throwable caught) { Window.alert("Error: "+caught.getMessage()); } @Override public void onSuccess(List<ClientDmisSessionDiagnosis> result) { data = new DiagnosisGridListData[result.size()]; System.out.println("Creating Diagnosis list..."); for(int i = 0; i<result.size(); i++){ System.out.println("Diagnosis name: "+result.get(i).getRecord().getName()); Img deleteIcon = new Img("../components/images/delete16.png"); deleteIcon.setLayoutAlign(Alignment.CENTER); deleteIcon.setTitle("Delete"); final int tempId = result.get(i).getPID(); deleteIcon.addClickHandler(new ClickHandler(){ @Override public void onClick(ClickEvent event) { Window.alert("Trashing diagnosis with ID: "+tempId); }}); data[i] = new DiagnosisGridListData(result.get(i).getPID(), result.get(i).getRecord().getName(), deleteIcon); list.setData(data); } } }); return list;
Code:
public class DiagnosisGridListData extends ListGridRecord { public DiagnosisGridListData(int diagnosisId, String diagnosis, Img img){ setDiagnosisId(diagnosisId); setDaignosis(diagnosis); setAction(img); } private void setAction(Img img) { setAttribute("action",img); } private void setDaignosis(String diagnosis) { setAttribute("diagnosis",diagnosis); } private void setDiagnosisId(int diagnosisId) { setAttribute("diagnosisId", diagnosisId); } }