SmartGWT 3.0
v8.2p_2012-10-11/PowerEdition Deployment
IE 8
How can I access a ImgButton component from a listGrid to update the image src of the button?
The ImgButton is created using createRecordComponent and the image needs to change when the value in a drop down list is changed.
	
	
	Thanks
Todd
					v8.2p_2012-10-11/PowerEdition Deployment
IE 8
How can I access a ImgButton component from a listGrid to update the image src of the button?
The ImgButton is created using createRecordComponent and the image needs to change when the value in a drop down list is changed.
Code:
	
	listGrid = new ListGrid(){   
            @Override  
            protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {   
  
                String fieldName = this.getFieldName(colNum);   
  
                if (fieldName.equals("iconField")) {   
                    HLayout recordCanvas = new HLayout(3);   
                    recordCanvas.setHeight(22);   
                    recordCanvas.setAlign(Alignment.CENTER);   
                    ImgButton editImg = new ImgButton();   
                    editImg.setShowDown(false);   
                    editImg.setShowRollOver(false);   
                    editImg.setLayoutAlign(Alignment.CENTER);   
                    editImg.setSrc("../plus-button.gif");     
                    editImg.setHeight(16);   
                    editImg.setWidth(16);   
                    editImg.addClickHandler(new ClickHandler() {   
                        public void onClick(ClickEvent event) {   
                            SC.say("Icon Clicked"); 
                        }   
                    });   
                    recordCanvas.addMember(editImg);    
                    return recordCanvas;   
                }
                return null;
            }
};
Code:
	
	ListGridField dropDownList = new ListGridField("Ticket");
	Criteria criteria = new Criteria();
	criteria.addCriteria("code", UIConfig.CODE);
	dropDownList.setOptionCriteria(criteria);
	dropDownList.setOptionDataSource(DataSourceFactory.DropDownDataSource());
	dropDownList.setAutoFetchDisplayMap(Boolean.TRUE);
	dropDownList.setDisplayField("DESCRIPTION");
	dropDownList.setValueField("CODE");
		
	dropDownList.addChangedHandler(new ChangedHandler() {
	@Override public void onChanged(ChangedEvent event) {
		//Need to change the editImage button src for changed record here.
		}
	  };
Code:
	
	ListGridField iconField = new ListGridField("iconField");
        iconField.setWidth(40);
        listGrid.setFields(dropDownList ,iconField);
        listGrid.setShowRecordComponents(true);
        listGrid.setShowRecordComponentsByCell(true);
Todd

Comment